Lodash union не будет работать с оператором спреда

Я использую lodash и его функцию объединения. Но когда я использую оператор распространения в union, я больше не получаю нормального ожидаемого результата. Что я делаю не так и почему lodash не работает с оператором спреда? Спасибо!

x = [1, 2, 3, 4]

y = [3, 5]

normalResult = _.union(x, y)
unexpectedResult = _.union(...x, y)

// normalResult = [1, 2, 3, 4, 5]
// unexpectedResult = [3, 5]

Но спред выполняет функцию union следующим образом: _.union(1, 2, 3, 4, [3, 5]). Вы знали об этом?

Ele 24.10.2018 21:39

Их док говорит: ..Создает массив уникальных значений по порядку из всех заданных массивов, используя SameValueZero для сравнения на равенство ......x в основном превращает массив в значения, разделенные запятыми ..

Arup Rakshit 24.10.2018 21:41

Спасибо, это помогло мне

Najma Muhammed 14.07.2021 23:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
138
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

_.union ожидает, что каждый аргумент будет массивом. Когда вы используете ...x, вы распределяете массив на отдельные аргументы, чего он не хочет.

Оператор распространения был бы полезен, если бы у вас был двухмерный массив, и вы хотели бы объединить каждый из содержащихся массивов с _.union, например.

x = [1, 2, 3, 4]
y = [3, 5]
a = [x, y];
result = _.union(...a);

Другие вопросы по теме