Como fundir duas matrizes em JavaScript e desduplicar itens
Eu tenho duas matrizes de JavaScript:
var array1 = ["Vijendra","Singh"];
var array2 = ["Singh", "Shakya"];
Eu quero que a saída seja:
var array3 = ["Vijendra","Singh","Shakya"];
A matriz de saída deve ter palavras repetidas removidas.
Como fundir duas matrizes em JavaScript para que eu receba apenas os itens únicos de cada matriz na mesma ordem em que foram inseridos nas matrizes originais?
1246
3
Para fundir apenas as matrizes (sem remover duplicados)
ES5 versão utilize
Array.concat
:ES6 versão use [desestruturação][2]
Uma vez que não existe uma forma 'incorporada' de remover duplicados ([ECMA-262][1] na verdade tem 'Array.forEach', o que seria ótimo para isso), temos que fazer isso manualmente:
Nova solução ( que utiliza
Array.prototype.indexOf
eArray.prototype.concat
):A implementação do método
indexOf
para outros navegadores é tirada de MDC.