Underscore: 1.9.0 регресс. Вызов первого или последнего в пустом массиве возвращает значение undefined.

Созданный на 19 апр. 2018  ·  9Комментарии  ·  Источник: jashkenas/underscore

В версии 1.9.0 _.first([], 10) возвращает undefined вместо [] .

Думаю, это большая проблема: stuck_out_tongue:

bug fixed

Самый полезный комментарий

Хорошо! Underscore 1.9.1 теперь опубликован с этим исправлением.

Все 9 Комментарий

Вау ... Похоже, это было намеренное изменение ... https://github.com/jashkenas/underscore/pull/2513

Лично я думаю, вы ожидаете, что _.first([], 2) будет [] после того, как _.first([1,2,3], 2) будет [1,2]

Мне это действительно кажется неприятным маленьким регрессом - когда вызывается с явно указанным количеством элементов. Есть другие мнения? @jridgewell?

Тем не менее, это поднимает вопрос о том, что должно быть _.first([], 1) .

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

Не беспокойтесь, мы можем сделать 1.9.1 с любыми другими возникающими очистками - плюс, возможно, урегулировать некоторые другие открытые PR ...

грация. этот укусил и нас сегодня.

В моем случае это приводит к очень неясным ошибкам в крайних случаях во множестве различных мест в большом приложении.

Разве это не должно быть приоритетом?

Этот тоже нас укусил. К счастью, это было обнаружено некоторыми модульными тестами, прежде чем мы запустили его вживую. Буду благодарен за быстрое исправление.

Хорошо! Underscore 1.9.1 теперь опубликован с этим исправлением.

Спасибо @jashkenas

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

afranioce picture afranioce  ·  8Комментарии

dmaicher picture dmaicher  ·  9Комментарии

arieljake picture arieljake  ·  4Комментарии

zackschuster picture zackschuster  ·  5Комментарии

xiaoliwang picture xiaoliwang  ·  3Комментарии