我知道在 JavaScript 中,objects 兼作哈希,但我一直无法找到一个内置函数来获取 key :
var h = {a:'b', c:'d'};
我想要类似的东西
var k = h.keys() ; // k = ['a', 'c'];
自己编写一个函数来迭代项目并将键添加到我返回的数组中很简单,但是有没有一种标准的更简洁的方法来做到这一点?
我一直觉得它一定是一个简单的内置函数,我错过了但我找不到它!
最佳答案
现代 JavaScript (ECMAScript 5) 中有一个函数叫做 Object.keys
执行此操作:
var obj = { "a" : 1, "b" : 2, "c" : 3};
alert(Object.keys(obj)); // will output ["a", "b", "c"]
兼容性详情可见here .
在 Mozilla site还有一个向后兼容的片段:
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError('Object.keys called on non-object');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
关于javascript - 如何找到对象的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18912/