关于js代码怎么用的知识点,泰山头条网将为你整理了下面这些知识。
如何使用js代码去重
在前端/后端开发中,去重是一项非常常见的操作,如何使用 js 代码去重呢?以下是详细回答。
数组去重
当需要对一个数组进行去重时,有以下几种方法:
1.使用 Set()
Set() 是 ES6 中新增的数据类型,用以存储不重复的值。可以使用以下代码:
let arr = [1, 2, 3, 1, 2]; let set = new Set(arr); // {1,2,3} let newArr = Array.from(set); // [1, 2, 3]
2.使用 filter()
使用 filter() 方法能够筛选出符合条件的数组元素,因此我们可以使用以下代码:
let arr = [1, 2, 3, 1, 2]; let newArr = arr.filter((element, index, self) => { return self.indexOf(element) === index; }); // [1, 2, 3]
对象属性去重
当需要对一个对象数组的某个属性去重时,有以下几种方法:
1.使用 Set()
同样可以使用 Set(),需要注意的是需要使用 map() 方法将对应属性映射为一个新的数组,再使用 Set() 去重:
let arr = [{name: 'A', age: 18}, {name: 'B', age: 19}, {name: 'A', age: 20}]; let set = new Set(arr.map(item => item.name)); let uniqueArr = Array.from(set).map(item => { return arr.find(val => val.name === item); });
2.使用 reduce()
reduce() 方法能够将重复的元素进行过滤,只保留第一个元素(此处以 name 属性为例):
let arr = [{name: 'A', age: 18}, {name: 'B', age: 19}, {name: 'A', age: 20}]; let uniqueArr = arr.reduce((prev, cur) => { let names = prev.map(item => item.name); if (names.indexOf(cur.name) === -1) { prev.push(cur); } return prev; }, []);
结语
以上是 js 去重操作的几种方式,实际使用取决于具体场景和需求。希望对大家有所帮助。