JavaScript 中计算数组中的唯一元素

要计算数组中的唯一元素,请将数组传递给 Set 构造函数并访问集合的 size 属性。 Set 对象仅存储唯一值并自动删除重复项。 size 属性返回 Set 中值的数量。

const arr = ['a', 'b', 'a', 'c', 'b'];

const uniqueCount = new Set(arr).size;
console.log(uniqueCount); // ?️ 3

Set 对象仅存储唯一值。 即使提供的数组包含重复项,它们也不会添加到集合中。

另一种方法是遍历数组中的元素。

const arr = ['a', 'b', 'a', 'c', 'b'];

let uniqueCount = 0;

arr.forEach((element, index) => {
  if (arr.indexOf(element) === index) {
    uniqueCount += 1;
  }
});

此代码片段还计算数组中的唯一元素,但是这次我们使用 Array.forEach 方法。

在我们的 if 语句中,我们使用 Array.indexOf 来确定这是否是该元素在数组中的第一次出现。

indexOf 方法返回一个值在数组中第一次出现的索引。

如果这是我们第一次遇到一个元素,我们将 uniqueCount 的值增加 1。