//創建一個方法用於求兩個數組的差異 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