Удалить объект из массива JavaScript?
Возможный дубликат:
Удалить определенный элемент из массива javascript?
В частности, у меня есть массив следующим образом:
var arr = [
{url: 'link 1'},
{url: 'link 2'},
{url: 'link 3'}
];
Теперь вы хотите удалить ценный URL-адрес URL-адреса "link 2" и после удаления только следующих массивов:
arr = [
{url: 'link 1'},
{url: 'link 3'}
];
Итак, кто может мне помочь в этой проблеме? Большое спасибо
Ответы
Ответ 1
Вы можете сделать фильтр.
var arr = [
{url: "link 1"},
{url: "link 2"},
{url: "link 3"}
];
arr = arr.filter(function(el){
return el.url !== "link 2";
});
PS: Array.filter
метод реализован в JavaScript 1.6, поддерживаемый большинством современных браузеров, If для поддержки старый браузер, вы можете написать свой собственный.
Ответ 2
Используйте функцию сращивания для удаления элемента в массиве:
arr.splice(1, 1);
Если вы хотите удалить элемент массива, не зная индекса на основе свойства elements, вам придется перебирать массив и каждое свойство каждого элемента:
for(var a = 0; a < arr.length; a++) {
for(var b in arr[a]) {
if(arr[a][b] === 'link 2') {
arr.splice(a, 1);
a--;
break;
}
}
}