对于JavaScript几种数组去掉重复值的方法推荐,我为您制作了详细攻略如下:
方案介绍
在JavaScript中,我们有许多不同的方法可以将数组中的重复项去除,以下是一些推荐的方法:
1. 使用 Set
Set是ES6新增的数据类型,Set的特点是不允许出现重复的元素,可以很好地用来去除数组中的重复项。
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = [...new Set(arr)]; // [1, 2, 3, 4, 5]
2. 使用 filter 和 indexOf
也可以使用filter和indexOf方法结合使用,如果当前元素第一次出现的位置和当前位置一致,那么就说明当前元素是唯一的,否则就是重复的。
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = arr.filter(function(item, index, arr) {
return arr.indexOf(item) === index;
}); // [1, 2, 3, 4, 5]
3. 使用 reduce 和 includes
使用reduce方法可以将数组中的每一项遍历一遍,如果新数组中已经有了当前项,就不加入数组中,否则就加入新数组中。
let arr = [1, 2, 2, 3, 3, 4, 5, 5];
let newArr = arr.reduce(function(prev, curr) {
if (!prev.includes(curr)) {
prev.push(curr);
}
return prev;
}, []); // [1, 2, 3, 4, 5]
示例说明
下面举两个例子来说明这些方法的使用场景:
示例1:使用Set去除字符串数组中的重复项
let arr = ['apple', 'orange', 'banana', 'banana', 'orange', 'grape'];
let newArr = [...new Set(arr)]; // ['apple', 'orange', 'banana', 'grape']
示例2:使用filter和indexOf去除数字数组中的重复项
let arr = [1, 3, 5, 1, 6, 7, 3, 8, 4, 5];
let newArr = arr.filter(function(item, index, arr) {
return arr.indexOf(item) === index;
}); // [1, 3, 5, 6, 7, 8, 4]
以上就是JavaScript几种数组去掉重复值的方法的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript几种数组去掉重复值的方法推荐 - Python技术站