Skip to content

JavaScript之数组去重 #13

@chenyong9528

Description

@chenyong9528

第一种

const clearDup = (arr) => {
  return arr.filter((v, i) => {
    return arr.indexOf(v) === i
  })
}

通过遍历数组的每一项,判断当前项第一次出现的位置和当前项的位置来判断是否重复

第二种

const clearDup = (arr) => {
  const result = []

  for (const v of arr) {
    if (!result.includes(v)) result.push(v)
  }

  return result
}

与第一种不同之处在于,判断的是当前项是否存在结果的数组中,如果不存在就添加到结果中

第三种

const clearDup = (arr) => {
  return [...new Set(arr)]
}

这种方式非常简单,利用了数据类型Set不会出现重复值的特点

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions