Подтвердить что ты не робот

Как использовать jQuery.map() для массива объектов для возврата массива массивов

Я хотел бы использовать jQuery для преобразования массива объектов в массив массивов с использованием карты.

Например, если у меня есть это:

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]]
4b9b3361

Ответ 1

С jQuery.map() (docs) и map() (docs) вам нужно дважды обернуть возвращаемое значение:

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

... иначе по какой-то причине он конкатцирует возвращаемый массив. Таким образом, он объединяет внешний массив и помещает содержимое (внутренний массив) в следующий индекс.