【发布时间】:2011-02-01 16:45:20
【问题描述】:
假设你有一个像 {'cat':'meow','dog':'woof' ...} 有没有比我想出的这种冗长的方法更简洁的方法来从对象中选择随机属性:
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;
}
}
}
【问题讨论】:
-
请注意,问题和答案实际上是在寻找返回随机对象属性的值,而不是问题标题所暗示的随机属性。
标签: javascript random