Вот еще одно решение:
arr1.forEach(
function(item){
var itemIndex = arr2.indexOf(item);
if(itemIndex>=0)
arr2.splice(itemIndex,1);
}
);
Об комментарии
Если arr2 IST смешанный массив, значение которого:
var arr2 = [['2013-11-29','50','annL','annT'], ['20','annL','annT', '25','annL'],
'annT', '44','annL','annT', '96','annL','annT', '26','annL','annT', '10','annL','annT'];
Передача значения arr2 алгоритм будет:
[['2013-11-29','50','annL','annT'], ['20','annL','annT', '25','annL'],
"96", "26", "annT", "10", "annL", "annT"]
Если то, что вы хотите, чтобы удалить вхождения arr1 элементов в каждом arr2 2d значение массива:
var arr2 = [['2013-11-29','50','annL','annT'], ['20','annL','annT', '25','annL'],
['annT', '44','annL','annT', '96','annL','annT'], ['26','annL','annT', '10','annL','annT']];
arr2.forEach(
function(arrayItem){
arr1.forEach(function(item){
if(arrayItem.indexOf(item)>=0)
arrayItem.splice(arrayItem.indexOf(item),1);
});
});
//arr2 will produce: [['2013-11-29','50'], [], ['96'], ['26','10']]
Осторожно он будет производить ошибка, если arr2 не является истинно 2d-массивом.
Внедрение операции с дополнительным набором дополнений ... –
Если вы спешите, есть множество полезных библиотек-утилиты, таких как lodash и подчеркивание, которые предоставляют функциональность, например массив # diff: http://lodash.com/docs#difference –