如题
不想用jquery的getOwnPropertyNames
var getProperty = function(obj) {
var nArr = [];
for (var i in obj) {
nArr.push[i];
}
console.log(nArr);
return nArr;
}
getProperty({a:1,b:2})
最后返回的结果是[];
如果换成
var getProperty = function(obj) {
var nArr = [],
k = 0;
for (var i in obj) {
nArr[k] = i;
k++;
}
console.log(nArr);
return nArr;
}
getProperty({a:1,b:2});
则可以返回正确的结果['a','b'],为何
阿神2017-07-05 10:59:43
JS 的 for in 存在 hasOwnProperty 的坑。
你想要返回 ['a', 'b']
,只需:
Object.keys(obj)
即可(支持 IE9+)。