Javascript 映射方法使用而不是for循环

Javascript 映射方法使用而不是for循环,javascript,jquery,Javascript,Jquery,正在尝试使用jquery的.map方法更改我的for循环。 但是我没有得到我用来进入for循环的输出 这是我的实际循环,它以数组的形式获得完美的数据 var yourArray = []; for (var i = 0; i < marray.length; i++) { mId = marray[i].id; yourArray.push(mId); } 但是实际的数组输出不会出现。尝试使用jquery中的$.map() idArr = $.map(marray, fu

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

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

var yourArray = [];
for (var i = 0; i < marray.length; i++) {
    mId = marray[i].id;
    yourArray.push(mId);
}
但是实际的数组输出不会出现。

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

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

idArr = marray.map(function(row) {
    return row.id;
});
是当前值,而不是整个数组。所以不需要
i


这只是JavaScript,没有jQuery。您上面的代码显示了JavaScript的使用,而不是jQuery的just
row.id
(去掉i)@putvande:OP明确要求jQuery
.map()
。即使显示的代码没有使用jQuery,我们也必须假设OP希望jQuery是OP指定的。部分问题可能是OP没有使用
$
。我知道OPs代码有什么问题,但我想知道为什么您使用jQuery而不是JavaScript。@putvande:在编辑问题之前,OP实际上是在问jQuery
.map()
。只是因为显示的代码没有使用jQuery,并不意味着OP没有询问jQuery解决方案。@putvande最初问题是用jQuery标记的,所以我建议这样做。。但是在这种情况下,使用纯js是最好的。
idArr = marray.map(function(row) {
    return row.id;
});