获得去重的数组(摘)

1.ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数,如:

 let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
 let set = new Set(array);
 console.log(set);
 // => Set {1, 2, 3, 4, 5}

2.ES6中Array新增了一个静态方法Array.from,可以把类似数组的对象转换为数组,如通过querySelectAll方法得到HTML DOM Node List,以及ES6中新增的SetMap等可遍历对象,如:

 let set = new Set();
 set.add(1).add(2).add(3);
 let array = Array.from(set);
 console.log(array);
 // => [1, 2, 3]

于是,现在我们可以用一行代码实现数组去重了:

let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));
console.log(array);

实例:
let tableData=[{
  "产品":"a",
  "销量":100,
  "盈利":100
},
{
  "产品":"b",
  "销量":100,
  "盈利":100
},
{
  "产品":"b",
  "销量":50,
  "盈利":80
}]
let arr=[]
tableData.forEach((item)=>{
  arr.push(item['产品'])
})
let set = Array.from(new Set(arr));//set为["a","b"]

 

应用:

//获取表头上筛选数组中的内容
this.filterArr_channel=[]
let arr=[]
this.tableDataAll.forEach((item)=>{
  arr.push(item['放款通道'])
})
let set = Array.from(new Set(arr));
set.forEach((item)=>{
  this.filterArr_channel.push({text: item, value:item})
})

  

 
posted @ 2021-06-09 09:49  几何柒期  阅读(53)  评论(0编辑  收藏  举报