当前位置: 首页 > 面试题库 >

从Javascript对象中选择随机属性

祝允晨
2023-03-14
问题内容

假设您有一个像{‘cat’:’meow’,’dog’:’woof’…}之类的Javascript对象,比我想出的这种漫长的方法,有没有更简洁的方法可以从对象中选择随机属性:

function pickRandomProperty(obj) {
    var prop, len = 0, randomPos, pos = 0;
    for (prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            len += 1;
        }
    }
    randomPos = Math.floor(Math.random() * len);
    for (prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            if (pos === randomPos) {
                return prop;
            }
            pos += 1;
        }
    }       
}

问题答案:

选择的答案会很好。但是,此答案将运行得更快:

var randomProperty = function (obj) {
    var keys = Object.keys(obj);
    return obj[keys[ keys.length * Math.random() << 0]];
};


 类似资料:
  • 我有一个具有以下结构的对象数组: 我希望输出为: 因为这两个都检查了。 我已尝试根据选中值筛选出: 我正在获取已选中属性值设置为。 我们将不胜感激。

  • 问题内容: 我可以使用列出所有组合, 但这通常会很大。 给定和,我如何在不首先构建大量列表的情况下随机地均匀选择组合? 问题答案: 来自http://docs.python.org/2/library/itertools.html#recipes

  • 问题内容: 我有两个相关的numpy数组和。我需要从中选择随机行,并将其存储在数组中,并将其对应的值附加到随机选择的点的索引上。 我有另一个数组,它存储我不想采样的索引列表。 我怎样才能做到这一点? 样本数据: 如果这些是随机选择的(其中): 所需的输出将是: 我怎样才能做到这一点? 问题答案: 您可以使用以下方法创建随机索引: 然后,您只需要使用结果索引数组:

  • 问题内容: 我正在使用PHP和MySQL创建一个简单的Web应用程序。在其中,我需要以随机顺序从表中随机选择一小组行。如何使用MySQL实现此类目标? 问题答案: SELECT * FROM table ORDER BY RAND() LIMIT 10;

  • 例如:是Firestore中的一个集合,我在该集合中有1000名学生,我的要求是在每次调用中随机选择10名学生。

  • 我在用数学。函数获取从0到“max”数字范围内的整数。但据sonarqube称,这是“安全热点”的媒介问题。