При работе с большими объемами данных может потребоваться удалить некоторые записи из-за обновления. Например, удаление значений на основе определенного атрибута или свойства. Это приводит к удобному доступу к соответствующим данным и удалению ненужных записей. В таких ситуациях удаление объекта из массива по его значению в JavaScript очень полезно для мгновенного доступа к данным и экономии памяти.
В этой статье будут рассмотрены подходы к удалению объекта из массива по его значению в JavaScript.
Как удалить/исключить объект из массива по его значению в JavaScript?
Чтобы исключить объект из массива по его значению в JavaScript, примените следующие подходы:
Давайте обсудим каждый из заявленных подходов один за другим!
Подход 1: удаление объекта из массива по его значению в JavaScript с использованием методов findIndex() и splice()
“ найтиИндекс() » возвращает индекс (позицию) элемента без внесения каких-либо поправок в исходный массив. “ соединение () ” добавляет/удаляет определенные элементы массива, а также влияет на исходный массив. Эти методы можно использовать для поиска индекса объекта, который необходимо удалить. После этого конкретный объект склеивается на основе указанного номера.
Синтаксис
массив.findIndex ( функция ( currVal, индекс, массив ) , ценность )В этом синтаксисе:
- “ функция ” относится к функции, которую необходимо вызывать для каждого элемента массива.
- Параметры функции ссылаются на индекс текущего значения в указанном массиве.
- “ ценность ” указывает значение, которое должно быть передано в функцию как “ это ».
массив.сращивание ( индекс, число, новый )
В приведенном выше синтаксисе:
- “ индекс ” указывает на позицию, где элементы должны быть добавлены или удалены.
- “ на одном ” представляет номер элемента.
- “ новый ” соответствует новым элементам в качестве замены.
Пример
Давайте следовать приведенному ниже коду:
< сценарий тип знак равно 'текст/javascript' >позволять данный массив = [ { возраст: 18 } , { возраст: 20 } , { возраст: 25 } ] ;
позволять removeObject = данныйArray.findIndex ( объект = > {
возвращаться объект.возраст === 18 ;
} ) ;
console.log ( 'Индекс удаляемого объекта:' , удалитьОбъект ) ;
данныйArray.splice ( удалитьОбъект, 1 ) ;
console.log ( 'Массив после удаления объекта по значению становится:' , заданный массив ) ;
сценарий >
В приведенном выше фрагменте кода:
- Объявить массив объектов с указанными свойствами.
- На следующем шаге свяжите « найтиИндекс() ” с объявленным массивом на предыдущем шаге.
- Это приведет к повторению каждого элемента (объекта) в массиве.
- В результате будет отображаться индекс конкретного объекта из массива, который соответствует заявленному значению свойства, т. е. 18.
- После этого примените « соединение () », ссылаясь на полученный индекс, который удалит конкретный объект по этому индексу.
- Обратите внимание, что ' 1 ” указывает количество объектов, которые необходимо удалить.
- Наконец, отобразите результирующий массив объектов.
Выход
В приведенном выше выводе видно, что отображается индекс конкретного объекта, который позже удаляется.
Подход 2: удаление объекта из массива по его значению в JavaScript с использованием метода filter()
“ фильтр() ” создает новый массив элементов, которые проходят определенный тест. Этот метод можно применять для фильтрации объекта, который необходимо удалить, на основе условия с помощью оператора сравнения.
Синтаксис
массив.фильтр ( функция ( вал ) , это )Здесь:
- “ функция ” указывает на функцию, которая будет перенаправлять на функцию фильтрации.
- “ вал ” — текущее значение элемента.
- “ это ” указывает значение, переданное функции.
Пример
Давайте рассмотрим приведенный ниже пример:
< сценарий тип знак равно 'текст/javascript' >позволять данный массив = [ { размер: 35 } , { размер: 40 } , { размер: Четыре пять } ] ;
console.log ( 'Данный массив:' , заданный массив )
позволять новыймассив = заданныймассив.фильтр ( объект = > {
возвращаться объект.размер ! == Четыре пять ;
} ) ;
console.log ( 'Массив после удаления объекта по значению становится:' , новый массив ) ;
сценарий >
Примените следующие шаги, как указано в приведенных выше строках кода:
- Точно так же объявите массив объектов и отобразите его.
- После этого примените « фильтр() », обращаясь к элементам (объектам).
- Теперь отфильтруйте связанный массив таким образом, чтобы новый массив был сформирован на основе выполненного условия с помощью « не равно(!==) ” оператор сравнения.
- Наконец, отобразите отфильтрованный массив.
Выход
Приведенный выше вывод указывает на то, что новый массив отфильтрованных объектов сформирован.
Подход 3: удаление объекта из массива по его значению в JavaScript с использованием метода pop()
“ поп() ” удаляет последний элемент в массиве, а также влияет на исходный массив. Этот метод можно использовать для извлечения определенного объекта из массива и создания обновленного массива с удаленным объектом.
Пример
Приведенный ниже пример иллюстрирует обсуждаемую концепцию:
< сценарий тип знак равно 'текст/javascript' >позволять данный массив = [ { имя: 'Гарри' } , { имя: 'Дэйвид' } ]
позволять новыймассив = заданный массив.pop ( объект = > {
возвращаться объект.имя = 'Гарри'
} )
console.log ( 'Массив после удаления объекта по значению становится:' , новый массив ) ;
сценарий >
В приведенном выше фрагменте кода:
- Точно так же объявите массив объектов, имеющих указанные свойства.
- На следующем шаге примените « поп() ” метод для удаления определенного объекта, имеющего указанное значение, против свойства “ имя ».
- В результате в результирующем массиве останется только один объект». новыйАрр ».
- Наконец, отобразите массив обновленных объектов, т. е. newArr.
Выход
Приведенный выше вывод означает, что желаемое требование выполнено.
Вывод
“ найтиИндекс() ' а также ' соединение () 'методы', ' фильтр() 'метод' или ' поп() ” можно применять для удаления объекта из массива по его значению в JavaScript. Эти подходы удаляют конкретный объект на основе индексации, фильтруя его с помощью оператора not equal(!==) или просто извлекая его по условию, соответственно. В этой статье объяснялись подходы к удалению/удалению объекта из массива по его значению с помощью JavaScript.