如果我有一个JS对象,例如:
var foo = { 'bar' : 'baz' }
如果我知道foo
键具有基本的键/值结构,但不知道键的名称,那么最简单的方法是什么?for ... in
?$.each()
?我希望有更好的...
如果要获取所有密钥,则可以使用ECMAScript 5Object.keys
。只有较新的浏览器才支持此功能,但MDC文档提供了另一种实现方式(也使用for...in
btw):
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;
}
当然,如果您想要键和值,那么这for...in
是唯一合理的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句