Unexpected map method behavior

Unexpected map method behavior

After working with filtering functions and going between libraries and native code, I found that jQuery is the only library that has unexpected behavior when mapping over an array. I also want to apologize if this has already been discussed, but I could not find the topic. The following is an example of the issue:

  1. // create a basic array of arrays
    var arr = [[1,2],[3,4],[5,6],["a","b"]];
    >> [Array[2], Array[2], Array[2], Array[2]]

    // using native Array.prototype.map gives us the desired result
    arr.map(function(value, index) { return [(value[0] + 1), value[1]]; });
    >> [Array[2], Array[2], Array[2], Array[2]]
    >>    0: 2      0: 4      0: 6      0: "a1"
    >>    1: 2      0: 4      0: 6      0: "b"

    // Using jQuery.map to map over the array to create a new array of arrays
    // but notice the problem here ($.fn.jquery ==  "1.11.1" )
    $.map(arr, function(value, index) { return [(value[0] + 1), value[1]]; });
    >> [2, 2, 4, 4, 6, 6, "a1", "b"]

    // for example, dojo also gives us the desired result
    require(["dojo/_base/array"], function(array) {
      var  newArr = array.map(arr, function(v) { return [(v[0] + 1), v[1]]; });

      console.log(newArr);
    });
    >> [Array[2], Array[2], Array[2], Array[2]]
    >>    0: 2      0: 4      0: 6      0: "a1"
    >>    1: 2      0: 4      0: 6      0: "b"

While it is stated in the documents that this is intentional (flattening the array / if array insert multiple elements) it is less than ideal / confusing for those using map method in other libraries, native JS, and other languages. I know it would be a major item to change, but wanted to get others' thoughts. Wondering if I am the only one that has been bit by this?