猿问

在js for in 循环中,使用数组的push方法获取对象的属性,结果却未改变数组

如题
不想用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'],为何

慕斯709654
浏览 683回答 1
1回答

莫回无

nArr.push(i)括号打错!!!!
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答