Подтвердить что ты не робот

Удалить объект из массива JavaScript?

Возможный дубликат:
Удалить определенный элемент из массива javascript?

В частности, у меня есть массив следующим образом:

var arr = [
    {url: 'link 1'},
    {url: 'link 2'},
    {url: 'link 3'}
];

Теперь вы хотите удалить ценный URL-адрес URL-адреса "link 2" и после удаления только следующих массивов:

arr = [
    {url: 'link 1'},
    {url: 'link 3'}
];

Итак, кто может мне помочь в этой проблеме? Большое спасибо

4b9b3361

Ответ 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;
        }
    }
}