У меня была такая же проблема; оказывается, вы можете просто вернуть вложенный массив из обратного вызова $ .map, и это не сгладит внешний массив:
$.map([1, 2, 3], function(element, index) {
return [ element + 1, element + 2 ];
});
=> [2, 3, 3, 4, 4, 5]
Принимая во внимание:
$.map([1, 2, 3], function(element, index) {
return [ [ element + 1, element + 2 ] ];
});
=> [[2, 3], [3, 4], [4, 5]]
Надеюсь, это поможет!