Какова роль оператора распространения в этом коде javascript?

Сегодня я прочитал эту статью в среде, и я не понимаю, что такое оператор спреда ниже.

Я знаю, что оператор распространения используется для получения массива в качестве параметра в функции. Что делает в приведенном выше коде оператор распространения? Преобразовать объект в массив?

распространение не является оператором.

Pointy 19.12.2020 14:50

Вы читали статью MDN о спреде? Очевидно нет.

ASDFGerte 19.12.2020 14:53
Поведение ключевого слова "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) для оценки ваших знаний,...
3
2
504
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Оператор распространения в сочетании с синтаксисом массива ([]) берет значения из набора и, за неимением лучшего термина, распределяет их, так что вы получаете массив со всеми значениями в наборе. Конечным результатом является преобразование массива в другой массив, содержащий уникальные значения из исходного массива.

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

Я знаю, что оператор распространения используется для получения массива в виде параметр в функции

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

Что делает в приведенном выше коде оператор распространения?

Он перебирает Set и распространяет (добавляет) записи в Set в новый массив.

Следующий фрагмент кода показывает простой пример:

const set = new Set([1,2,3]);
const newArr = [...set];

console.info(newArr);

Спасибо за комментарий. Я понимаю, что ... имеет два разных синтаксиса.

hje 19.12.2020 15:13

Давайте посмотрим на это построчно.

var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]

Это создает массив entries с некоторым списком чисел.

Теперь, когда мы это делаем, new Set(entries), мы создаем массив Set из entries. Set — это набор отдельных элементов, как вы, возможно, уже знаете.

Следовательно, new Set(entries) дает нам Set из entries следующим образом: Set(8) {1, 2, 3, 4, 5, …}

Теперь оператор ... распространяет отдельные элементы из Set, чтобы создать массив, который представляет собой строку - var unique_entries = [...new Set(entries)]

Спасибо за комментарий. Теперь я понимаю!

hje 19.12.2020 15:11

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