Javascript 如何在对象数组上使用jQuery.map()返回数组数组

Javascript 如何在对象数组上使用jQuery.map()返回数组数组,javascript,jquery,Javascript,Jquery,我想使用jQuery将对象数组转换为使用map的数组 例如,如果我有: var ObjArr = [{ a:1,b:2 },{ a:2,b:3 },{ a:3,b:4 }]; var ArrArr = $.map(ObjArr, function(n,i){ return [ n.a, n.b ]; }); 因此,结果将是: ArrArr = [[1,2],[2,3],[3,4]] 使用和方法,您需要双重包装返回值: var ArrArr = $.map(ObjArr, functio

我想使用jQuery将对象数组转换为使用map的数组

例如,如果我有:

var ObjArr = [{ a:1,b:2 },{ a:2,b:3 },{ a:3,b:4 }];
var ArrArr = $.map(ObjArr, function(n,i){
   return [ n.a, n.b ];
});
因此,结果将是:

ArrArr = [[1,2],[2,3],[3,4]]
使用和方法,您需要双重包装返回值:

var ArrArr = $.map(ObjArr, function(n,i){
   return [[ n.a, n.b ]];
});

…否则,由于某种原因,它将连接正在返回的数组。这样,它连接外部数组,并将内容(内部数组)放在下一个索引中。

它工作了!但是,您能告诉我jQuery这样做的原因吗?您能告诉我jQuery这样做的原因吗:可能是为了使
.map()
不限于1:1的映射。e、 g.返回
[]
可以过滤掉元素,而无需使用单独的
.filter()
。同样地,
.map()
也可用于展平列表列表。