Задача: Сравните два массива и верните новый массив с любыми элементами, не найденными в обоих исходных массивах. Используйте Array.filter и Array.indexOf для решения этой проблемы.разница между двумя массивами с фильтром javascript
function diff(arr1, arr2) {
var newArr = [];
//code here
return newArr;
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
Я не уверен, как действовать. Мое решение отличается от вышеизложенного и использует жесткий кодированный массив. Как сделать мой общий?
function arrayNotContains(element){
var arr = [1, 2, 3, 5];
if(arr.indexOf(element) === -1){
return true;
}else{
return false;
}
}
var filtered = [1, 2, 3, 4, 5].filter(arrayNotContains);
console.log(filtered);
У меня есть еще одно решение ниже. Это нормально ?
var arr1 = [1,2,3,5];
var arr2 = [1,2,3,4,5];
var filtered = arr2.filter(function(num) {
if (arr1.indexOf(num) === -1) return num;
});
Различие с обоих массивов: http://jsfiddle.net/jxgLj1Lz/ –