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

Как я могу эффективно удалять элементы из массива, которые существуют в другом массиве в JavaScript?

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

How can I efficiently remove elements from an array that exist in another array in JavaScript?

Эффективное удаление элементов массива, соответствующих другому массиву

В JavaScript может возникнуть требование исключить элементы из одного массива, существующие в другом массиве. Этого можно эффективно достичь, не прибегая к циклам и сращиванию.

Подход jQuery

Используя jQuery, можно использовать функции grep() и inArray():

myArray = $.grep(myArray, function(value) {
    return $.inArray(value, toRemove) 

Решение на чистом JavaScript

Для реализации на чистом JavaScript эффективным методом служит Array.filter():

myArray = myArray.filter( function(el) {
    return toRemove.indexOf(el) 

Альтернатива с использованием Array.includes()

По мере роста поддержки браузерами Array.includes() он предлагает краткую альтернативу:

myArray = myArray.filter( function(el) {
    return !toRemove.includes(el);
});

Современный подход с использованием стрелочных функций

Использование стрелочных функций еще больше упрощает код:

myArray = myArray.filter((el) => !toRemove.includes(el));

Эти подходы на чистом JavaScript обеспечивают эффективные способы удаления элементов, соответствующих другому массиву, без накладных расходов на циклы и сращивание.

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

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

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

Copyright© 2022 湘ICP备2022001581号-3