泰山头条网 / 问答 / 正文

js代码怎么用

2024-03-29 01:43 阅读了

关于js代码怎么用的知识点,泰山头条网将为你整理了下面这些知识。

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 去重操作的几种方式,实际使用取决于具体场景和需求。希望对大家有所帮助。

猜你喜欢: