Javascript 从阵列创建唯一阵列(多个)
我正在尝试下面的方法Javascript 从阵列创建唯一阵列(多个),javascript,arrays,typescript,Javascript,Arrays,Typescript,我正在尝试下面的方法 Input: myarray1=['Tag A','Tag B','Tag C'] myarray2=['Tag B','Tag C'] myarray3=['Tag A','Tag D'] Output: outputArray=['Tag A','Tag B','Tag C','Tag D'] 输出数组应包含来自输入数组的唯一值 我尝试在typescript中执行此操作,但无法从输入数组中找到唯一值。 如何以最佳方式实现这一点的任何建议将合并的数组传递到一个集合中
Input:
myarray1=['Tag A','Tag B','Tag C']
myarray2=['Tag B','Tag C']
myarray3=['Tag A','Tag D']
Output:
outputArray=['Tag A','Tag B','Tag C','Tag D']
输出数组应包含来自输入数组的唯一值
我尝试在typescript中执行此操作,但无法从输入数组中找到唯一值。
如何以最佳方式实现这一点的任何建议将合并的数组传递到一个集合中,并将该集合分散到结果数组中
myarray1=['Tag A'、'Tag B'、'Tag C']
myarray2=['Tag B','Tag C']
myarray3=['Tag A','Tag D']
const uniques=[…新集合(myarray1.concat(myarray2,myarray3))]
console.log(uniques)
您可以使用ES6和
myarray1=['Tag A'、'Tag B'、'Tag C']
myarray2=['Tag B','Tag C']
myarray3=['Tag A','Tag D']
const uniqueArr=[…新集合([…myarray1,…myarray1,…myarray3]);
log(uniqueArr)
非常简单,只使用数组函数,首先包含所有数组,然后使用fitler函数简单地确保只有唯一的值
const myarray1=['Tag A'、'Tag B'、'Tag C'],
myarray2=['Tag B','Tag C'],
myarray3=['Tag A','Tag D'];
const mergedArray=Array.concat(myarray1,myarray2,myarray3).filter((s,i,Array)=>Array.indexOf(s)==i);
console.log(mergedArray)
您可以使用reduce
Set
和spread
操作符来执行此操作。
让arr1=['taga'、'tagb'、'tagc']
设arr2=['Tag B','Tag C']
设arr3=['taga','tagd']
设arr=[arr1,arr2,arr3]
设op=[…新集合(arr.reduce((o,c)=>o.concat(c),[]);
控制台日志(op)代码>使用concat创建一个数组,然后筛选在从单个数组中删除问题重复项时,这里的问题是从多个数组中删除可能的重复项,您在哪里使用解构
。只是用了错误的措辞:(