Nodejs 数组Array去重的方法

 提示:转载请注明原文链接

 本文链接:https://360us.net/article/97.html

Node.js 中,你可以使用多种方法对数组进行去重。以下是几种常见的方法:

  • 方法一:使用 Set

SetES6 中引入的一种数据结构,它只存储唯一的值。你可以利用它来对数组进行去重。

const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
  • 方法二:使用 filter 和 indexOf

你可以使用 filter 方法结合 indexOf 来过滤掉重复的元素。

const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = array.filter((item, index) => array.indexOf(item) === index);
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
  • 方法三:使用 reduce

你可以使用 reduce 方法来构建一个新的数组,只包含唯一的元素。

const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = array.reduce((accumulator, currentValue) => {
  if (!accumulator.includes(currentValue)) {
    accumulator.push(currentValue);
  }
  return accumulator;
}, []);
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
  • 方法四:使用 lodash

如果你已经在项目中使用了 lodash,你可以使用它的 uniq 方法来去重。

const _ = require('lodash');
const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = _.uniq(array);
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]
  • 方法五:使用 Map

你可以使用 Map 来去重,Map 的键是唯一的。

const array = [1, 2, 3, 4, 4, 5, 5, 6];
const uniqueArray = Array.from(new Map(array.map(item => [item, item])).values());
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]

本来链接:https://360us.net/article/97.html