📅  最后修改于: 2023-12-03 15:36:56.085000             🧑  作者: Mango
在使用 Angular 编写 Web 应用程序时,有时需要从数组中删除重复的值。在 Javascript 中,有多种方法可以实现这个操作。本文将介绍一些最常用的方法。
可以使用 Set 对象来删除数组中的重复值。Set 对象是 ES6 引入的一种新的数据类型,用于存储无重复值的集合。
let arr = [1, 2, 2, 3, 3, 3, 4, 5, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
在上面的代码中,我们首先创建了一个包含重复值的数组。然后使用 Set 对象创建一个唯一值的集合,并使用 Array.from() 方法将其转换为数组。
另一种方法是使用过滤器函数来删除数组中的重复值。
let arr = [1, 2, 2, 3, 3, 3, 4, 5, 5];
let uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]
在上面的代码中,我们使用 filter() 方法来遍历数组,并使用 indexOf() 方法来检查该值是否已经在数组中出现过。
还可以使用 reduce() 函数来删除数组中的重复值。reduce() 函数是 Javascript 中的一个数组方法,可以将数组中的所有元素组合为一个单独的值。
let arr = [1, 2, 2, 3, 3, 3, 4, 5, 5];
let uniqueArr = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
在上面的代码中,我们使用 reduce() 方法来遍历数组,并将每个元素添加到一个新数组中。如果新数组中已经有该元素,我们将忽略它。最后,我们返回结果数组。
在本文中,我们介绍了三种方法来删除数组 Angular 中的重复值。使用 Set 对象、过滤器函数和 reduce() 函数都是常用的方法。使用这些方法可以使代码更加简单、易读和可维护。