2016-04-07 20 views
0
var idstore = new Array(); 

var item1 = ["display1, display2, display3, display4"]; 

var item2 = ["display1, display2, display3, display5"]; 

idstore.push(item1); 
idstore.push(item2); 

alert(idstore); 

Niyetim bir dizi adımı ihtiva yapmaktır çoğaltmak yok ve bazen adı yinelenen olacak nasıl dizisi aynı isim olsaydı ben dizi çeki kazanıyor? . Yani, idstore'ımda display1 var ve item2'i ona itiyorsam, idstore'un display1'e sahip olduğunu ve aynı dizi adını kopyalayamadığını anlayacağım.dizi tanımak, aynı öğe adının aynı adı

Demo

+0

temelde bunun bir dizeyle 2 diziler var deneyebilirsiniz. –

+0

@NinaScholz Bu inanıyorum bir yazım hatası olmalı. –

+0

[JSFIDDLE] (https://jsfiddle.net/t79r77nt/) İşte sizin için çözüm @darkness, umarım çalışacaktır ... –

cevap

1

Sadece ES6 ile yapabilirsiniz,

var item1 = ["display1", "display2", "display3", "display4"]; 
var item2 = ["display1", "display2", "display3", "display5"]; 
var idstore = [...item1,...item2]; 
idstore = [...new Set(idstore)]; 
console.log(idstore); //["display1", "display2", "display3", "display4","display5"]; 
  • diziyi birbirine bağlanması için kullanın spread operator.
  • Farklı bir öğeler kümesi oluşturmak için Set kullanın.
  • Yine, kümeyi bir diziye dönüştürmek için yayıcı işlecini kullanın.
+0

'var res = [... new Set (item1.concat (item2)))]; ' – Tushar

+0

@Tushar' var res = [... yeni Set ([... öğe1, ... madde2])] 'Tek bir satırda yapabiliriz. Okunabilirlik uğruna, cevabımda böyle yaptım. –

0

Bu

var idstore = new Array(); 
var item1 = ["display1, display2, display3, display4"]; 
var item2 = ["display1, display2, display3, display5"]; 
idstore.push(item1); 
idstore.push(item2); 
idstore = idstore.unique(); 
İlgili konular