Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Удалить данные с массива (https://javascript.ru/forum/css-html/46415-udalit-dannye-s-massiva.html)

jeka123 08.04.2014 22:58

Удалить данные с массива
 
Ребят есть массив такого формата на js
10,Иван,1
43,Петя,2
56,Вася,2
12,Коля,2
34,Зерг,1



как удалить все данные с массива у которых 3-ий елемент массива = 1?

nice_try 08.04.2014 23:01

выложи свои попытки

jeka123 08.04.2014 23:47

var arr = [
[10,'Иван',1],
[43,'Петя',2],
[56,'Вася',2],
[12,'Коля',2],
[34,'Зерг',1]
];

for (var i = arr.length-1; i >= 0; --i) {
а тут не пойму как найти 3 тий элементв массиве и сравнить
}

Vlasenko Fedor 09.04.2014 00:03

var arr = [
        [10, 'Иван', 1],
        [43, 'Петя', 2],
        [56, 'Вася', 2],
        [12, 'Коля', 2],
        [34, 'Зерг', 1]
      ];

      for (var i = 0, el; i < arr.length; i += 1) {
        el = arr[i];
        if (el[2] === 1) {
          alert(el);
          arr.splice(i--, 1);
        }
      }
      alert(arr);

jeka123 09.04.2014 00:14

el[2] -- это тут выбираеться 3 тий столбец в массиве?

Дзен-трансгуманист 09.04.2014 00:29

Цитата:

Сообщение от Poznakomlus
arr.splice(i, 1);

Типичная ошибка при прореживании списков. :)
Нужно либо выносить инкремент в else, либо:
arr.splice(i--, 1);

Sweet 09.04.2014 00:51

arr = arr.filter(function (item) {
    return item[2] != 1;
});

jeka 09.04.2014 16:42

Спасибо всем за помощь)


Часовой пояс GMT +3, время: 12:17.