Разница двух массивов Diff Two Arrays
Десятый день программы "#100 Days Of Code"
Вернет только уникальные (не повторяющиеся) элементы двух массивов, сравнив элементы первого и второго массива между собой. Если не совпадают то добавит в новый массив и вернет
- Comparison Operators
- Array.prototype.slice()
- Array.prototype.filter()
- Array.prototype.indexOf()
- Array.prototype.concat()
Создали новый пустой массив.Для поиска значений в массиве используем indexOf(), а для отсеивания одинаковых (фильтрации), используем filter()
Просто сравниваем между собой два массива по очереди и если совпадений нет, то добавляем в новый массив.
function diffArray(arr1, arr2) { var newArr = []; // Same, same; but different. var numArr1 = arr1.filter(function(n){ if(arr2.indexOf(n) < 0){ return true; } else { return false; } }); var numArr2 = arr2.filter(function(n){ if(arr1.indexOf(n) < 0){ return true; } else { return false; } }); newArr = numArr1.concat(numArr2); return newArr; } diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]);
diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5])
return an array.
["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]
return ["pink wool"].
["andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]
return ["diorite", "pink wool"].
["andesite", "grass", "dirt", "dead shrub"], ["andesite", "grass", "dirt", "dead shrub"]
return [].
[1, 2, 3, 5], [1, 2, 3, 4, 5]
return [4].
[1, "calf", 3, "piglet"], [1, "calf", 3, 4]
return ["piglet", 4].
[], ["snuffleupagus", "cookie monster", "elmo"]
return ["snuffleupagus", "cookie monster", "elmo"].
[1, "calf", 3, "piglet"], [7, "filly"]
return [1, "calf", 3, "piglet", 7, "filly"].
Комментариев нет:
Отправить комментарий