我有一个像JavaScript的对象
var obj = {
key1: 'value1',
key2: 'value2',
key3: 'value3',
key4: 'value4'
}
Run Code Online (Sandbox Code Playgroud)
如何获取此对象中的长度和键列表?
假设你有一个Javascript对象,如{'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;
}
}
}
Run Code Online (Sandbox Code Playgroud) javascript ×2