两类数组去重方法

技术博客 (222) 2023-12-30 18:01:01

简单去重可以直接使用ES6语句。

var newArr = Array.from(new Set(arr))

🌰:
var arr = [1, 2, 2, 3]
arr = Array.from(new Set(arr))	// arr = [1, 2, 3]

如果需要对 数组对象中某一标识符去重。

// 根据某个字段来对数组进行过滤
unique(arr, field) { 
   
	const res = new Map(); // 定义常量 res, 值为一个Map对象实例
	// 返回arr数组过滤后的结果,结果为一个数组; 过滤条件是,如果res中没有某个键,就设置这个键的值为1
	return arr.filter((arr) => !res.has(arr[field]) && res.set(arr[field], 1))
}

使用:

this.arr = this.unique(this.arr, id);
THE END

发表回复