使用Map方法代替for循环

时间:2014-06-16 09:56:27

标签: javascript jquery

尝试使用jquery的.map方法更改for循环。 但我没有得到我用来进行for循环的输出。

这是我的实际循环,以数组的形式获得完美的数据。

var yourArray = [];
for (var i = 0; i < marray.length; i++) {
    mId = marray[i].id;
    yourArray.push(mId);
}

我尝试使用.map()

idArr = marray.map(function(row) {
                return row[i].id;
            });

但是实际的数组输出没有到来。

2 个答案:

答案 0 :(得分:3)

应该是:

idArr = marray.map(function(row) {
    return row.id;
});

row是当前值,而不是整个数组。所以不需要i

Fiddle

Array.prototype.map()

答案 1 :(得分:1)

尝试使用jquery中的$.map()

idArr = $.map(marray, function(v,i) {
                return v.id;
        });