Home » Jquery » How to use jQuery.map() on array of objects to return array of arrays

How to use jQuery.map() on array of objects to return array of arrays

Posted by: admin November 30, 2017 Leave a comment

Questions:

I would like to use jQuery to convert an array of objects to array of arrays using map.

For example if I have this:

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 ];
});

So that the result would be:

ArrArr = [[1,2],[2,3],[3,4]]
Answers:

With the jQuery.map()(docs) and map()(docs) methods you need to double wrap the return value:

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

…otherwise for some reason it concats the Array being returned. This way it concats the outer Array, and placing the content (the inner Array) at the next index.