2017-10-07 4 views
0

私はこれらの番号を電話番号と回数で呼び出すリストを持っています。 私はこのような何かを呼び出すたび:内容は長さ0の配列を反復する

const pos = '.' + this.number; // avoid arrays large as a mobile number but keeping the number for indexing 

    if (typeof(this.list[pos]) === 'undefined') { 
     this.list[pos] = 1; 
    } else { 
     this.list[pos] = this.list[pos] + 1; 
    } 

だから私は、私はその数が簡単にthis.list[number]ような何かをやって呼んだ回数を得ることができます。私はこの配列を反復処理したいとき

問題が来る:私はコンテンツをプッシュしなかったので

<div *ngFor="let calls of callsListProvider.list">{{calls}}</div> 

配列の長さは常に0です。

私はオブジェクトを使いたくありません。これは反復可能であり、番号(インデックス)も取得できますか?

+0

「。 + this.number'? 'this.list [pos] = this.list [pos] + 1'は文字列を連結しますか? 'for..of'ループの代わりに' for..in'ループを使ってみましたか? – guest271314

+0

電話番号である文字を追加しない場合、配列は電話番号と同じくらい大きくなります。したがって、番号075645しかない場合は、75644の空の位置がありますが、長さは075645 –

答えて

1

this.listがインデックス以外の値に設定Array持つプロパティの名前である場合は、for..of forループfor..inループを使用して置き換えることができます。

'`constのPOS =で.'`'`の目的は何

let arr = []; 
 
arr["a"] = 1; 
 
arr["b"] = 2; 
 

 
for (let prop of arr) { 
 
    console.log("for..of loop", prop); 
 
} 
 

 
for (let prop in arr) { 
 
    console.log("for..in loop", prop); 
 
}

+0

で完璧です。私はそれを角度に翻訳する方法を見つけるでしょう –

+0

@DanielRodriguez [...との間の違い... in]を参照してください(https://developer.mozilla.org/en-US/docs/Web/JavaScript /参照/ステートメント/ for...ofofDefference_between_for..of_and_for...in) – guest271314

関連する問題