为了账号安全,请及时绑定邮箱和手机立即绑定

获取对象键数组

获取对象键数组

POPMUISE 2019-07-11 16:37:13
获取对象键数组我希望在jQuery或纯JavaScript中将JavaScript对象的键作为数组。有比这更少的方式吗?var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' };var keys = [];for (var key in foo) {     keys.push(key);}
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

使用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你可以偷


查看完整回答
反对 回复 2019-07-11
?
白板的微信

TA贡献1883条经验 获得超3个赞

您可以使用jQuery的$.map.

var foo = { 'alpha' : 'puffin', 'beta' : 'beagle' },keys = $.map(foo, function(v, i){
  return i;});


查看完整回答
反对 回复 2019-07-11
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

当然了,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.


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 409 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信