从多个数组中获取具有非重复值的数组

Ada*_*dam 6 javascript arrays typescript

我需要经历多个数组并创建一个新数组,其中包含来自多个数组的所有值,没有重复,是否有任何插件/快速方法可以执行此操作?

var x = {
  "12": [3, 4],
  "13": [3],
  "14": [1, 4]
};
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

[1,3,4];
Run Code Online (Sandbox Code Playgroud)

Nen*_*car 3

您可以使用 ES6 扩展语法和Object.values方法来做到这一点。

var x = {
  "12": [3, 4],
  "13": [3],
  "14": [1, 4]
}

const result = [...new Set([].concat(...Object.values(x)))]
console.log(result)
Run Code Online (Sandbox Code Playgroud)

使用Lodash 的解决方案

var x = {
  "12": [3, 4],
  "13": [3],
  "14": [1, 4]
}

const result = _.uniq(_.flatten(_.values(x)))
console.log(result)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)