我有一个JavaScript对象

var obj = {
   key1: 'value1',
   key2: 'value2',
   key3: 'value3',
   key4: 'value4'
}

我怎么能得到这个对象中的键的长度和列表?


当前回答

Var obj = { key1:“value1”, key2: value2, key3:“value3”, key4:“value4” } var keys = Object.keys(obj); Console.log ('obj包含' +键。长度+ '键:'+键);

现在大多数主流浏览器都支持它。

其他回答

如果你只想要特定于特定对象的键,而不是任何派生的原型属性:

function getKeys(obj) {
    var r = []
    for (var k in obj) {
        if (!obj.hasOwnProperty(k)) 
            continue
        r.push(k)
    }
    return r
}

e.g:

var keys = getKeys({'eggs': null, 'spam': true})
var length = keys.length // access the `length` property as usual for arrays
var keys = new Array();
for(var key in obj)
{
   keys[keys.length] = key;
}

var keyLength = keys.length;

要从对象中访问任何值,可以使用obj[key];

使用种()……这是正确的方法。

完整的文档可以在MDN网站上找到,链接如下:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

obj = {'a':'c','b':'d'}

你可以试试:

[index for (index in obj)] 

这将返回:

['a','b']

来获取键的列表 或

[obj[index] for (index in obj)]

来得到这些值

现代浏览器支持:

Var obj = { key1:“value1”, key2: value2, key3:“value3”, key4:“value4” } console.log(种(obj)); //我们也可以得到值 console.log (Object.values (obj));