我有3个像这样的数组,
var data1 = ['a','b','c'];
var data2 = ['b','c','d'];
var data3 = ['c','d','e'];
然后我需要将唯一值推送到新数据var newData = [];
我需要newData
只有'a','b','c','d','e'
没有重复的结果
答案 0 :(得分:2)
试试这个
var data1 = ['a','b','c'];
var data2 = ['b','c','d'];
var data3 = ['c','d','e'];
var newArr=[]
data1.concat(data2,data3).forEach(function(a,i){
if(newArr.indexOf(a)===-1){
newArr.push(a)
}
})
console.log(newArr);

答案 1 :(得分:2)
现代浏览器?
var newData = Array.from(new Set(data1.concat(data2, data3)));
或
var newData = [...new Set(data1.concat(data2, data3))];
答案 2 :(得分:0)
试试这个例子
var data1 = ['a','b','c'];
var data2 = ['b','c','d'];
var data3 = ['c','d','e'];
var finaldata = data1.concat(data2,data3);
var unique = finaldata.filter(function(elem, index, self) {
return index == self.indexOf(elem);
});
console.log(unique);
答案 3 :(得分:0)
您需要来自所有三个数组的值,但只需要唯一值。这是一套。 ES2015引入了集合,这些集合规定使用高性能(日志或常量时间)访问和检查。
var data1 = ['a','b','c'];
var data2 = ['b','c','d'];
var data3 = ['c','d','e'];
const set = new Set(data1.concat(data2).concat(data3))
const nonDuplicates = [...set]
console.log(nonDuplicates)
答案 4 :(得分:0)
const newData = [...new Set(data1.concat(data2, data3))];