как найти и удалить массив из массива?
есть у меня кука в которую записываю данные и разделяю их ";"
например гадя,петрович,хренова;петр, василич,иванов; и есть кнопка на каждую позицию чтобы удалить эту запись из куки вот так : onclick='MinusFromCookie("гадя","петрович","хренова");' как я думаю это сделать в скрипте MinusFromCookie я получаю значение куки, заганяю в массив, потом ищю по массиву нужную запись, грохаю ее, и затем массив обратно в куку. сложность возникает в том чтобы найти запись в массиве с такими параметрами и удалить из массива вот код function MinusFromCookie(var1,var2,var3) { var str = $.cookie("names"); var arr = str.split(';'); }как дальше найти индекс массива arr содержащим в себе запись с такими переменными var1,var2,var3 которые получил скрипт, и грохнуть этот индекс? и еще чтобы удалилось первое совпадение, потому как их может быть несколько |
function minus(var1, var2, var3) { str = 'Петя;Дима;Вася;Кирил;Петя'; new_arr = new Array(); arr = str.split(';'); for(i=0;i<arr.length;i++) { if (arr[i] == var1) { var1 = null; continue; } else if (arr[i] == var2) { var2 = null; continue; } else if (arr[i] == var3) { var3 = null; continue; } else { new_arr.push(arr[i]); } } alert(new_arr); } minus('Петя','Валик','Вася'); |
walik, не использовать var в функциях - это отстой. Как зеленые джинсы: может кому и нравятся, но их отстойность близка к объективной отстойности. Короче, нех гадить в такие почтенные объекты как window.
Во-вторых, else if - это тоже отстой. switch - норм, а else if - отстой. А еще new Array() - это тоже отстой. Может кому и наглядно, а все же по меркам js - отстойная конструкция. В общем, не нужно писать отстой:) |
Sweet,
Человек попросил помочь, и я ему помог. Умеешь писать грамотней - так что тебе мешает написать здесь свой пример ? |
Цитата:
|
Цитата:
|
walik, есть мнение, что это называется "медвежья услуга", потому что дурной пример дико заразительный. Мой пример? Пожалуйста:
function fn(string){ return string.replace( [].slice.call(arguments, 1).join(',') + ';', '' ); }; var string = 'гадя,петрович,хренова;петр,василич,иванов;'; alert( fn(string, 'гадя', 'петрович', 'хренова') ); Цитата:
var array = new Array(); array[0] = 0; array[1] = 1; array[2] = 2;считаю убогой версией var array = [0, 1, 2]; |
Цитата:
респект тебе дружище! даже не думал что код может получиться таким коротким, работает супер! |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 06:53. |