将多个数组Concat分成一个数组而不重复

Rah*_*wab 5 javascript

我想在一个新数组中推送3个数组的值,而不重复相同的值

var a = ["1", "2", "3"];
var b = ["3", "4", "5"];
var c = ["4", "5", "6"];
var d = [];

function newArray(x, y, z) {
    for(var i = 0; i < d.length; i++) {
        if(d.length == -1) {
            d[i].push(a[i])
        }
    }

    for(var i = 0; i < d.length; i++) {
        if(d.length == -1) {
            d[i].push(y[i])
        }
    }

    for(var i = 0; i < d.length; i++) {
        if(d.length == -1) {
            d[i].push(z[i])
        }
    }
}

newArray(a, b, c);

d = ["1", "2", "3", "4", "5", "6"];
Run Code Online (Sandbox Code Playgroud)

小智 7

如果你的目标是删除重复项,你可以使用一组,

var arr = [1, 2, 3, 4, 5, 5, 6, 6, 6, 7]
var mySet = new Set(arr)
var filteredArray = Array.from(mySet)
console.log(filteredArray.sort()) // [1,2,3,4,5,6,7]
Run Code Online (Sandbox Code Playgroud)


Aru*_*una 5

您可以按以下方式使用concat()Set

var a = ["1","2","3"];
var b = ["3","4","5"];
var c = ["4","5","6"];

var d = a.concat(b).concat(c);
var set = new Set(d);

d = Array.from(set);

console.log(d);
Run Code Online (Sandbox Code Playgroud)


Luc*_*sta 2

var a = ["1","2","3"]
  , b = ["3","4","5"]
  , c = ["4","5","6"]
  , d = [];

function newArray(x,y,z) {
  x.concat(y,z).forEach(item =>{
     if (d.indexOf(item) == -1) 
       d.push(item); 
  });
  return d;
}

console.log(newArray(a,b,c));
Run Code Online (Sandbox Code Playgroud)