JS获取对象键名
在开发的时候不时需要获取某个对象的键名集,以下为常用的两种获取对象键名的方法。
一、通过 for in
var obj={a:1,b:2,c:3},key; for(key in obj){ console.log(key); //分别输出a b c }
二、通过Object.keys
const obj={a:1,b:2,c:3}; console.log(Object.keys(obj));//["a","b","c"]
注意:此方法虽然很方便,但需要浏览器支持ES5+。
三、兼容写法
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; }
参考:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
https://stackoverflow.com/questions/6268679/best-way-to-get-the-key-of-a-key-value-javascript-object