js中返回对象键名的方法
一、通过 for in 循环方法
let obj={a:1,b:2,c:3}
let key=null;
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;
}