📌  相关文章
📜  从数组 angular 中删除重复项 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:36:18.469000             🧑  作者: Mango

从数组 angular 中删除重复项 - TypeScript

在 TypeScript 中,我们可以使用一些方法来从数组中删除重复项。

使用 Set

Set 是 ES6 中引入的一种新的数据结构,它允许我们存储不重复的值。我们可以将数组转换为 Set,然后再将 Set 转换回数组,这样数组中的重复项就会被自动删除。

const arr = [1, 2, 3, 1, 2, 4];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4]
使用 filter 和 indexOf

我们还可以使用 filter 和 indexOf 方法来删除数组中的重复项。具体实现是:遍历数组,如果当前项第一次出现,则将其添加到新数组中。使用 indexOf 方法可以查找当前项在原始数组中第一次出现的位置,如果位置等于当前下标,则说明当前项是第一次出现,否则就是重复项。

const arr = [1, 2, 3, 1, 2, 4];
const uniqueArr = arr.filter((item, index) => {
  return arr.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4]
使用 reduce 和 includes

我们还可以使用 reduce 和 includes 方法来删除数组中的重复项。具体实现是:遍历数组,如果当前项第一次出现,则将其添加到新数组中。使用 includes 方法可以查找当前项在新数组中是否已经存在,如果不存在,则说明当前项是第一次出现,否则就是重复项。

const arr = [1, 2, 3, 1, 2, 4];
const uniqueArr = arr.reduce((pre, cur) => {
  if (!pre.includes(cur)) {
    pre.push(cur);
  }
  return pre;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4]

以上三种方法都可以在 TypeScript 中使用,具体取决于你的特定需求和使用场景。