Подтвердить что ты не робот

Есть ли утилита map jQuery, которая не сглаживается автоматически?

Я сопоставляю массив двух кортежей из одного домена (даты) в другой (временные метки). К сожалению, похоже, что jQuery.map автоматически сглаживает два набора, которые я возвращаю, и я не вижу параметр do_not_flatten.

Я пропустил что-то еще в библиотеке, которая не будет автоматически сглаживаться?

Добавление: Я предполагаю, что я не должен использовать Array.map, который не будет автоматически сглаживаться, потому что он JavaScript 1.6. Насколько я понимаю, jQuery должен абстрагировать версию JavaScript, для которой я запускаюсь по соображениям совместимости.

4b9b3361

Ответ 1

У меня была та же проблема; оказывается, вы можете просто вернуть вложенный массив из обратного вызова $.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]]

Надеюсь, что это поможет!

Ответ 2

Я не совсем уверен, что такое "двухкортеж", и я не уверен, что правильно понял результаты Google, на которые я смотрел. Но вы взглянули на jQuery.each?