2016-07-28 13 views
0

2次元配列を別の配列のAngular 2クラスにコピーしようとしています。私は解決策を試しましたが、出力は得られませんでした。角型2クラスの2D配列のコピーを作成する

ここでは、コードは(出力を得ていない)です:http://plnkr.co/edit/s9vFKEw4y4aKtQRUGfev?p=preview

HTMLコード:

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> 

クラスコード:

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() 

iは、アレイをコピーすることができますどのような方法がありますAngular2の別の配列ですか?

答えて

0

存在しないArrayクラスのメソッド(clone())を使用しようとしたため、コードが機能しません。関数clone()を定義したばかりですが、Arrayのプロトタイプの一部ではありません。 変更clone() {からArray.prototype.clone = function() {

これは動作するはずですが、この種の操作では、lodashをチェックアウトすることをお勧めします。 https://lodash.com/docs#clone

+0

あなたが言った変更を追加しても、まだ動作していません。 Check:http://plnkr.co/edit/s9vFKEw4y4aKtQRUGfev?p = preview – Varun

+0

コンポーネントコードを少し変更しました。それをチェックしてください:http://plnkr.co/edit/0n1qD8Xa5kJv9d3A4416?p=preview – starky

+0

答えをありがとう。 – Varun

関連する問題