Как использовать 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]]
Ответы
Ответ 1
С jQuery.map()
(docs) и map()
(docs) вам нужно дважды обернуть возвращаемое значение:
var ArrArr = $.map(ObjArr, function(n,i){
return [[ n.a, n.b ]];
});
... иначе по какой-то причине он конкатцирует возвращаемый массив. Таким образом, он объединяет внешний массив и помещает содержимое (внутренний массив) в следующий индекс.