猿问

获取对象键数组

获取对象键数组

我希望在jQuery或纯JavaScript中将JavaScript对象的键作为数组。

有比这更少的方式吗?

var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };var keys = [];for (var key in foo) {
    keys.push(key);}



POPMUISE
浏览 410回答 3
3回答

缥缈止盈

使用Object.keys:var foo = {  'alpha': 'puffin',  'beta': 'beagle'};var keys = Object.keys(foo);console.log(keys) // ['alpha', 'beta'] // (or maybe some other order, keys are unordered).这是ES5功能。这意味着它可以在所有现代浏览器中工作,但是将无法在旧版浏览器中工作。.es5-shm有一个执行Object.keys你可以偷

白板的微信

您可以使用jQuery的$.map.var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' },keys = $.map(foo, function(v, i){   return i;});

胡说叔叔

当然了,Object.keys()是最佳得到一个物体的钥匙的方法。如果它在您的环境中不可用,它可能是微不足道的。摇曳使用示例中的代码(除非您需要考虑到您的循环将遍历原型链上的所有属性,不像Object.keys()的行为)。然而,您的示例代码.。var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };var keys = [];for (var key in foo) {     keys.push(key);}jsFiddle..可以修改您可以在变量部分。var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };var keys = [], i = 0;for (keys[i++] in foo) {}jsFiddle.当然,这种行为与Object.keys()实际上.jsFiddle)。您可以简单地使用关于MDN文档的Shim.
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答