Ingernirated
@Ingernirated
Романыч

Как удалить обьект из массива?

Подскажите, как удалить определенный обьект из массива при этом уменьшая его длину?

var Array = ["Сентябрь", "Ежовые рукавицы", "Поручик Ржевский", ....];

Например, тут 30 элементов, а мне нужно удалить из них "Борис" и "Сепар" , удалить за один раз при этом, чтобы длина массива уже стала 28, а не 30 с 2 undefined;

И можно такое проворачивать с обьектами в массиве, например с
var Andruha = {"name" : "Anton", "age" : "13"}
тот же Array [..., Andruha, ...] , но, чтобы удалить уже не самого Андрюху, а одно из его значений, например name;
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
Для массива
array.splice(start, deleteCount[, item1[, item2[, ...]]])

Описание
За несколько раз, если элементы идут не один за другим.

Для обьекта
delete object.property
или
delete object['property']

Описание
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
С массивами это обычно делается или с помощью map или filter.
А в функциях делайте любые проверки.
https://learn.javascript.ru/array-iteration
Ответ написан
Комментировать
dpigo
@dpigo
Front-end developer
Смотрите: jsbin.com/polela/edit?js,console.

Как справедливо заметили другие участники для фильтрации простого массива лучше использовать filter, а для модификаций элементов придется использовать map. Оба этих метода возвращают новый массив, который можно присвоить старой переменной.

Будьте внимательны при мутации родительского объекта, или используйте Object.assign из ES6.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы