2016-07-28 7 views
0

Ich versuche, ein 2D-Array in ein anderes Array in Angular 2-Klasse zu kopieren. Ich habe eine Lösung versucht, aber keine Ausgabe bekommen.Erstellen einer Kopie von 2D-Array in Angular 2 Klasse

Hier ist der Code (die Ausgabe nicht immer): http://plnkr.co/edit/s9vFKEw4y4aKtQRUGfev?p=preview

Html-Code:

Testing Array a: 
    <ul *ngFor="let arra of a"> 
      <li>{{arra[0]}}</li> 
      <li>{{arra[1]}}</li> 
     </ul> 

    Testing Array b: 
    <ul *ngFor="let arrb of b"> 
      <li>{{arrb[0]}}</li> 
      <li>{{arrb[1]}}</li> 
     </ul> 

Class Code:

a = [[1,2],[3,4]]; 
    clone() { 
    var arr = this.slice(0); 
    for(var i = 0; i < this.length; i++) { 
     if(this[i].clone) { 
      //recursion 
      arr[i] = this[i].clone(); 
     } 
    } 
    return arr; 
} 

var b = a.clone() 

Gibt es eine Möglichkeit, die Anordnung kopieren, um ein anderes Array in Angular2?

Antwort

0

Ihr Code funktioniert nicht, weil Sie versuchen, die Methode der Array-Klasse zu verwenden, die nicht existiert (clone()). Sie haben gerade eine Funktion clone() definiert, die jedoch nicht zum Prototyp von Array gehört. Ändern clone() { zu Array.prototype.clone = function() {

Dies sollte funktionieren, aber für Operationen dieser Art würde ich Ihnen empfehlen, lodash zu überprüfen. https://lodash.com/docs#clone

+0

Nachdem ich die Änderungen hinzugefügt habe, die Sie gesagt haben, funktioniert es immer noch nicht. Überprüfen Sie: http: //plnkr.co/edit/s9vFKEw4y4aKtQRUGfev? P = Vorschau – Varun

+0

Ich habe Ihren Komponentencode ein wenig geändert. Schau es dir an: http://plnkr.co/edit/0n1qD8Xa5kJv9d3A4416?p=preview – starky

+0

Danke für die Antwort. – Varun

Verwandte Themen