function array_diff (array) { // Computes the difference of arrays
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
var arr_dif = [], i = 1, argc = arguments.length, argv = arguments, key, key_c, found=false;
// loop through 1st array
for ( key in array ){
// loop over other arrays
for (i = 1; i< argc; i++){
// find in the compare array
found = false;
for (key_c in argv[i]) {
if (argv[i][key_c] == array[key]) {
found = true;
break;
}
}
if(!found){
arr_dif[key] = array[key];
}
}
}
return arr_dif;
}
// не понимаю почему данный код
// возврощаеет пустые элементы
// хотя если использую текст вместо цифр все нормально
nu = [1, 2, 3, 4, 5 , 6 ,7 ];
ou = [1, 2, 3, 4, 5 ];
arr = array_diff( nu , ou );
alert(arr.toString() ); // ,,,,,6,7
// имелось ввиду такой текст
array_diff(['Kevin', 'van', 'Zonneveld'], ['van', 'Zonneveld']);
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.