как найти и удалить массив из массива?
есть у меня кука в которую записываю данные и разделяю их ";"
например гадя,петрович,хренова;петр, василич,иванов; и есть кнопка на каждую позицию чтобы удалить эту запись из куки вот так :
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, время: 05:40. |