lodash数组去重的方法
数组是计算机编程中最常用的数据结构,它可以存储多个值,极大地方便了程序的编写和处理数据的任务。在处理数组的时候,会遇到一个问题,数组中可能会存在重复的值,往往需要对数组进行去重,以达到一定的处理效果。为了解决这个问题,本文将介绍数组去重的几种方法,以便开发者们能够根据自身的具体情况选择合适的方法。
首先介绍最简单的方法,使用 JS 中的 Set去重数组。Set一种特殊的数据结构,它不会存储重复的值,因此可以用 Set过滤掉数组中的重复项,得到一个有序的去重后的数组。使用 Set步骤很简单,只要把数组作为参数,传入 Set构造函数中即可。
示例代码:
```
let arr = [1,2,3,4,4,4,5];
let newArr = Array.from(new Set(arr));
lodash有哪些方法
console.log(newArr); // [1,2,3,4,5]
```
除了使用 Set 之外,还可以使用 ES6 中新增的 Array.includes()法来去重数组。includes()法能够判断数组中是否包含指定的值,我们可以遍历数组,然后使用 includes()法判断当前元素是否已经存在于数组中,如果不存在则添加到新的数组中,从而去重数组。
示例代码:
```
let arr = [1,2,3,4,4,4,5];
let newArr = [];
arr.forEach(item => {
if(!newArr.includes(item)) {
newArr.push(item);
}
});
console.log(newArr); // [1,2,3,4,5]
```
再介绍一种去重数组的方法,使用数组的indexOf()方法。indexOf()方法用于检测一个值在数组中的位置,我们可以用它来检测一个值是否在数组中,如果不存在,则添加到新的数组中,从而实现数组的去重。
示例代码:
```
let arr = [1,2,3,4,4,4,5];
let newArr = [];
arr.forEach(item => {
if(newArr.indexOf(item) == -1) {
newArr.push(item);
}
});
console.log(newArr); // [1,2,3,4,5]
```
此外,还可以使用对象的方法去重数组,使用对象的方法可以以一种更加直观的方式来实现数组的去重功能。该方法的实现步骤是,先定义一个空的对象,然后遍历数组,将数组中的值作为key,把它的值设置为 true,由于 JavaScript 中对象的属性值不能重复,因
此在遍历数组时,对象中不会出现重复的属性值。最后,将对象中的属性值放到新数组中,从而实现去重功能。
示例代码:
```
let arr = [1,2,3,4,4,4,5];
let newArr = [];
let obj = {};
arr.forEach(item => {
if(!obj[item]) {
newArr.push(item);
obj[item] = true;
}
});
console.log(newArr); // [1,2,3,4,5]
```
以上就是数组去重的几种方法,去重的技术可以大大简化开发者的处理数据的工作量,有效地提高处理数据的效率。不同的场景可以根据自身情况选择不同的去重方法,以达到最佳的效果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论