2016-09-14 2 views
0

У меня есть вложенный объект, например:Удаление вложенного объекта с помощью underscore.js _.omit

data.object = [Object],[Object],[Object],[Object] 

Я хочу, чтобы полностью удалить 3-й объект, так data.object[2] больше не существует, и я должен увидеть:

data.object = [Object],[Object],[Object] 

delete Использование сохраняет 3-й объект, но как undefined:

data.object = [Object],[Object],undefined,[Object] 

Я понимаю, что _.omit может быть использован аналогичным образом, но мои попытки не работают:

_.omit(data.object,data.object[2]) 
+0

Вместо мутирует массив на месте, часто лучше создать новый без элемента, который вы хотите удалить, как в 'data.object.filter ((elt, i) => i! == 2) '. –

ответ

2

Нет необходимости использовать подчеркивание или любую другую библиотеку третьей стороны

data.object.splice(2, 1); 

Там есть стандартная функция JS для этого. Он мутирует данный массив на месте и удаляет элемент 1 по индексу 2.

Ссылки: