让前端飞Web前端之路

【js】JS数组处理常用方法整理

2019-08-08  本文已影响1人  废柴码农

1.去重

方法一:set去重

ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化。

function unique (arr ){
        var x = new Set(arr);
        return [...x];
      };
unique([1,2,3,4,5,2,3,4])   //1,2,3,4,5
方法二:filter去重

filter()接收的回调函数,其实可以有多个参数。通常我们仅使用第一个参数,表示Array的某个元素。回调函数还可以接收另外两个参数,表示元素的位置和数组本身:

let arr = [1,2,3,4,5,6,7,4,5,6]
    arr.filter(function(item,index,arr){
    return arr.indexOf(item) === index
})
//[1,2,3,4,5,6,7]

2.筛选

方法一:for循环遍历

如:场景:筛选出两个数组中相等的值

function uniqueTree (uniqueArr,Arr) {
  let uniqueChild = []
  for(var i in Arr){
    for(var k in uniqueArr){
    if(uniqueArr[k] === Arr[i]){
        uniqueChild.push(uniqueArr[k])
    }
   }
  }
  return uniqueChild
}
let a = [2, 10, 37, 38, 39, 4];
let b = [1,2,3,4,5,6,7,8,9,10];
uniqueTree(a,b)   //2,4,10
方法二:filter 过滤掉相同项
var a=[1,2,3,4,5]

var b=[2,3,7,8,9]

a.filter(item=>b.indexOf(item)==-1) //1,4,5
方法三:filter+includes //留下相同项
var a=[1,2,3,4,5]

var b=[2,3,7,8,9]

a.filter(item=>b.includes(item))  //2,3

文章会持续更新,可以点关注看最新文章呦~✨❤️

上一篇 下一篇

猜你喜欢

热点阅读