«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > NodeList в массив: действительно ли Array.from() самый быстрый?

NodeList в массив: действительно ли Array.from() самый быстрый?

Опубликовано 8 ноября 2024 г.
Просматривать:553

 NodeList to Array: Is `Array.from()` Really the Fastest?

Преобразование из NodeList в массив: раскрытие самого быстрого подхода

Предыдущие обсуждения предполагали использование Array.prototype.slice.call(nl) Метод предлагает наиболее эффективное преобразование NodeList в Array. Однако недавние сравнительные исследования выявили поразительно иную реальность. Вопреки распространенному мнению, традиционный подход цикла for for(var i = 0, n; n = nl[i]; i) arr.push(n); превосходит вышеупомянутый метод с заметным трехкратным отрывом.

Это озадачивающее открытие вызывает любопытство: является ли это простой особенностью Chromium 6 или скрывается еще более быстрый подход? К счастью, с появлением ES6 мы получили решение, которое без особых усилий превосходит оба предложенных ранее метода.

Array.from(): окончательное решение

The Функция Array.from(), представленная в ES6, предоставляет краткие и невероятно быстрые средства преобразования NodeList в массив. Его синтаксис прост:

// nl is a NodeList
let myArray = Array.from(nl)

Эта единственная строка кода выполняет преобразование с непревзойденной эффективностью, значительно превосходя своих предшественников. Таким образом, поиск самого быстрого метода преобразования завершается триумфальным господством метода Array.from(), предлагающего разработчикам беспрецедентное решение этой важной задачи.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3