Есть ли утилита для карт jQuery, которая автоматически не выравнивается? - PullRequest
44 голосов
/ 01 апреля 2009

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

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

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

Ответы [ 2 ]

64 голосов
/ 15 февраля 2010

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

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

1 голос
/ 01 апреля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...