Is there a jQuery map utility that doesn't automically flatten?
I'm mapping an array of two-tuples from one domain (dates) to another (timestamps). Unfortunately, it looks like jQuery.map
auto-flattens the two-tuples I return, and I don't see a do_not_flatten
parameter.
Am I missing something else in the library that won't auto-flatten?
Addendum: I assume that I shouldn't be using Array.map
, which does not auto-flatten, because it is JavaScript 1.6. As I understand it, jQuery is supposed to abstract away the JavaScript version I'm running for compatibility reasons.
I was having the same problem; it turns out you can just return a nested array from within the $.map callback and it won't flatten the outer array:
$.map([1, 2, 3], function(element, index) {
return [ element + 1, element + 2 ];
});
=> [2, 3, 3, 4, 4, 5]
Whereas:
$.map([1, 2, 3], function(element, index) {
return [ [ element + 1, element + 2 ] ];
});
=> [[2, 3], [3, 4], [4, 5]]
Hope that helps!
I'm not really sure what a "two-tuple" is and I'm not really sure I got it right from the Google results I looked at. But did you take a look at jQuery.each?