去重和合并

以前合并数组用的concat,去重用的双重循环比较后用splice删除。

最近发现es6的合并去重实在是省代码
合并数组——新数组=[…要合并的数组1,…要合并的数组2]

let arr3 = [...arr1,...arr2]

数组去重——新数组=new Set([…要去重的数组])

let arr4 = new Set(arr3)
arr4 = [...arr4]

注意:如果是对象数组去重则需要别的方法

let arr3 = [...arr1,...arr2]//合并了数组对象
let obj = {};//一个新对象
//reduce的用法,数组对象的去重,不会排序
arr3 = arr3.reduce((cur,next) => {
    obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
    return cur;
},[]) //设置cur默认类型为数组,并且初始值为空的数组

//reduce用法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue);
/*
  total: 必需。初始值, 或者计算结束后的返回值。
  currentValue: 必需。当前元素。
  currentIndex: 可选。当前元素的索引;                     
  arr: 可选。当前元素所属的数组对象。
  initialValue: 可选。传递给函数的初始值,相当于total的初始值。
*/

数组排序——新数组=要排序的数组.sort((a,b)=>{ return a - b; })//a-b是由小到大,反之

arr4.sort((a,b)=>{ return a - b; })
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值