我正在尝试以下
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']
输出数组应包含输入数组中的唯一值。
正在打字稿中尝试此操作,但无法从输入数组中找到唯一值。 关于如何以最佳方式实现这一目标的任何建议
答案 0 :(得分:3)
将合并的数组传递到Set中,然后将其传播到结果数组中
myarray1=['Tag A','Tag B','Tag C']
myarray2=['Tag B','Tag C']
myarray3=['Tag A','Tag D']
const uniques = [...new Set(myarray1.concat(myarray2,myarray3))]
console.log(uniques)
答案 1 :(得分:2)
myarray1=['Tag A','Tag B','Tag C']
myarray2=['Tag B','Tag C']
myarray3=['Tag A','Tag D']
const uniqueArr = [...new Set([...myarray1,...myarray1,...myarray3])];
console.log(uniqueArr)
答案 2 :(得分:1)
非常简单,仅使用数组函数,首先包含所有数组,然后使用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);
答案 3 :(得分:1)
您可以使用reduce
Set
和spread
运算符来完成此操作。
let arr1=['Tag A','Tag B','Tag C']
let arr2=['Tag B','Tag C']
let arr3=['Tag A','Tag D']
let arr = [arr1,arr2,arr3]
let op = [...new Set( arr.reduce((o,c)=>o.concat(c),[]))];
console.log(op);