2017-05-29 3 views
0

Mit Array.prototype.concat(), wenn ich diesen Code schreiben:JavaScript concat Methode

var g = [1, 11, 111]; 
 
var ga = [12, 122, 1222]; 
 
var gb = [13, 133, 1333]; 
 

 
var gc = g.concat(ga, [123, gb]); 
 

 
console.log(gc);

Es gibt mir folgendes Ergebnis: [1, 11, 111, 12, 122, 1222, 123, Array(3)]

Warum ist Array(3) dem resultierenden Array hinzugefügt?

+0

Welches Ergebnis haben Sie bekommen zu erwarten? – nacho

+0

[1,11,111,12,122,1222,123,13,133,1333] –

+0

Wenn [123] kein Array ist, dann wird [13,133,1333] als Array –

Antwort

0

Einer der Werte im Array ist ein Array mit drei Elementen, und Sie betrachten es mit einem Werkzeug, das Ihnen eine Zusammenfassung der Daten und nicht eine vollständig erweiterte Ansicht davon bietet.

1

[123,gb] nicht Arrays verketten es ist ein Array innerhalb eines Arrays, was Sie wollen, ist dies:

var g = [1,11,111]; 
 

 
var ga = [12,122,1222]; 
 

 
var gb = [13,133,1333]; 
 

 
var gc = g.concat(ga,[123].concat(gb)); 
 
//or better 
 
var gc2 = g.concat(ga, 123, gb); 
 
console.log(gc, gc2);

+0

dargestellt, dann sollte Ausgabe [1,111,111,12,122,122, Array (1), Array (3)] Ritus? –

+0

nein es wird sein [1, 11, 111, 12, 122, 1222, 123, 13, 133, 1333] –

+1

danke ich bekam die antwort .. –

1

Verwenden ES6 Stil Syntax spread

var g = [1,11,111]; 
 

 
var ga = [12,122,1222]; 
 

 
var gb = [13,133,1333]; 
 

 
var gc = [...g,...ga,123,...gb]; 
 

 
console.log(gc);

0

Dies wird Ihnen helfen !!

var g = [1,11,111]; 
 

 
var ga = [12,122,1222]; 
 

 
var gb = [13,133,1333]; 
 

 
var gc = g.concat(ga,123,gb); 
 

 
     
 
console.log(gc);