Niklaus Wirth

Niklaus Wirth

Translate

Diff Two Arrays (10)

Разница двух массивов Diff Two Arrays
Десятый день программы "#100 Days Of Code"

Вернет только уникальные (не повторяющиеся) элементы двух массивов, сравнив элементы первого и второго массива между собой. Если не совпадают то добавит в новый массив и вернет

Создали новый пустой массив.Для поиска значений в массиве используем 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"].


Комментариев нет:

Отправить комментарий