如何在不同的数组中获取唯一数据

时间:2017-07-26 03:55:54

标签: javascript arrays

我有3个像这样的数组,

var data1 = ['a','b','c'];
var data2 = ['b','c','d'];
var data3 = ['c','d','e'];

然后我需要将唯一值推送到新数据var newData = [];

我需要newData只有'a','b','c','d','e'没有重复的结果

5 个答案:

答案 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))];