删除地图函数中的重复项

Blo*_*ive 6 javascript arrays reduce filter

我正在尝试删除数组中的重复项。我有来自帖子的标签,这也是数组:

tags: ['react', 'javascript', 'node']

从地图函数我得到这样的输出: node react javascript react javascript react javascript node

<div class="tags">
  {posts.map(post =>
    post.frontmatter.tags.map(tag => (
      <Link
        key={tag + `tag`}
        to={`/tags/${kebabCase(tag)}/`}
        className="tag is light"
      >
        {tag}
      </Link>
    ))
  )}
</div>
Run Code Online (Sandbox Code Playgroud)

我尝试实施.filterreduce,但我陷入困境。

提前致谢

hev*_*ev1 9

您可以使用 aSet从数组中获取唯一元素,并使用扩展语法以数组形式获取结果。

const arr = ["node", "react", "javascript", "react", "javascript", "react", "javascript", "node"];
const res = [...new Set(arr)];
console.log(res);
Run Code Online (Sandbox Code Playgroud)


小智 4

var sandwiches = ['turkey', 'ham', 'turkey', 'tuna', 'pb&j', 'ham', 'turkey', 'tuna'];
var deduped = Array.from(new Set(sandwiches));

// Logs ["turkey", "ham", "tuna", "pb&j"]
console.log(deduped);
Run Code Online (Sandbox Code Playgroud)