獲取兩個數組的差異元素,返回一個包含差異元素的新數組

//創建一個方法用於求兩個數組的差異
function diff(arr1, arr2) {
  var newArr = [];
  var _arr1=[];
  var _arr2=[];
  
  //獲取第一個數組的差異元素 存放到_arr1數組中
  _arr1=arr1.filter(function(v){
    if(arr2.indexOf(v)==-1){
      return v;
    }
  });
  
  //獲取第二個數組的差異元素 存放到_arr2數組中
  _arr2=arr2.filter(function(v){
    if(arr1.indexOf(v)==-1){
      return v;
    }
  });
  //合併兩個包含差異元素的數組
    newArr=_arr1.concat(_arr2);
    return newArr;
}

filter() 方法用於創建一個新數組, 其包含通過所提供函數實現的測試的所有元素(v)。

concat() 方法用於合併兩個或多個數組。此方法不會更改現有數組,而是返回一個新數組。

indexOf()方法返回在數組中可以找到一個給定元素的第一個索引,如果不存在,則返回-1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章