js 取出两个数组中相同的元素和不同的元素

1: concat() 方法: 用于连接两个或者多个数组。

  该方法不会改变现有的数组,  而仅仅会返回被数组连接的一个副本。

  js 中取出连个数组不同的元素:

  取出两个数组种不同的元素: 
  
  var arr1 = [0,1,2,3,4,5];
  var arr2 = [0,4,6,1,3,9];

  function getArrDifference(arr1, arr2) {
     return arr1.concat(arr2).filter(function(v, i, arr) {
        return arr.indexOf(v) === arr.lastIndexOf(v);
     });
   }
   console.log(getArrDifference(arr1,arr2));

   Array filter() 方法:  数组的过滤方法
   创建一个新的数组,  新数组中的元素是通过,  检查指定数组中符合条件的所有元素。
   注意: filter()  不会对空数组进行检测。

   注意: filter(): 不会改变原数组。

   indexOf(): 可以返回某个指定的字符串在字符串中首次出现的位置。

   如果没有找到匹配的字符串, 则返回-1;
   注意: indexOf():  方法区分大小写。
   注意: indexOf():  方法区分大小写。

   lastIndexOf():  方法: 
    可以返回一个指定的字符串值出现的的最后的位置, 如果指定第二个参数start,  则在第一个字符串中指定的位置从后往前搜索。

开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。

如果没有找到匹配字符串则返回 -1 。

注意:lastIndexOf() 方法是区分大小写的!


取出两个数组中相同的元素:  
  var arr1 = [0, 1 , 3 , 4 , 5];
  var arr2 = [0, 4, 6, 1, 3, 9];
  function getArrEqual(arr1, arr2) {
     let newArr = [];
     for(let i = 0; i < arr2.length; i++) {
        for(let j = 0; j < arr1.length; j++) {
             if(arr1[j] === arr2[i]){
                newArr.push(arr1[j]);
             }
        }
     }
  }

console.log(getArrEqual(arr1, arr2));


版权声明:本文为weixin_45677987原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。