2016-03-25 11 views
1

私は配列soterとカウンタ配列を持っています。カウント配列が私に提供するnameの番号を取得したいと思います。それが正しいか ?私は出力について少し混乱しています。誰かがJavaScriptでこのネストされた配列ループの上で私を拡大できますか?JavaScriptのネストされた配列

var soter = ['bp','mf','cc'], 

count = [0,0,0]; 

for(var y = 0 ; y < soter.length; y++) {    
    for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[y]) { 
     count[y]++; 
+2

'data.SO_Ter'の内容に関する追加情報はありますか? –

+0

'data'はオブジェクトです。 'SO_Ter'は子オブジェクトです。 'name'は子オブジェクトのプロパティです – Baadshah

+0

私にはうまく見えますが、 'soter'の文字列がデータに現れる回数をintにカウントします。投票者と数の長さが同じであることを確認してください。 結果はどのように見えますか? – AAlferez

答えて

1

このコードは十分に形成された物体にデータと子SO_Terを想定し、私には正しいようです。

外側のループの0〜2の位置を通過し、それぞれについて、data.SO_Terの各項目がsoter値と等しいことを確認します。 その値を見つけたら、カウントを1に増やします。

意味はありますか?あなたはそれを3回行うことから、あなただけのforループの外でそれらを置き換えるので

for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[0]) { 
     count[0]++; 
for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[1]) { 
     count[1]++; 
for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[2]) { 
     count[2]++; 

:それは簡単に、それはのようになるようにするに

UPDATE

数[0]単語 'BP' が見つかりされた回数を表し

数[1]単語 'MFは' 発見された回数を表し

count [2]は、 'cc'という単語が何回見つかったかを表します。

+0

'count [0]、count [1]、count [2]は何を表していますか? – Baadshah

+0

コード内で作成したカウント配列、0,1,2の位置にアクセスしています。これらの位置は、その位置の値を取得します。 – AAlferez

+0

count配列とsoter配列は両方とも同じ長さです。count [0]は、soter [0]の単語が現れる回数を表します。count [1]やsoter [1]なども同様です。 – AAlferez

関連する問題