2016-08-12 7 views
0

20個の配列を返したAJAX呼び出しを作成しました。そのうちのいくつかは空であり、他には1つ以上の項目があります。 forループを使って各配列を文字列に分割しました。唯一の問題は、空の配列から空の文字列がたくさん作成されることです。私のforループで空の配列をスキップできる方法はありますか?複数の配列を文字列に分割して空の配列をスキップする

success: function(data){ 
 
    console.log(data); 
 
    for(x in data.data){ 
 
    var hashArray = data.data[x].tags; 
 
    var hashStrings = hashArray.toString().split(','); 
 
    var hashtags = ''; 
 

 
    for(var i = 0; i < hashStrings.length; i++) { 
 
     hashtags = hashStrings[i]; 
 
     console.log(hashtags); \t \t 
 
    } 
 
    } 
 
}

+0

あなたは 'あなたがSUCCESS'ハンドラ'で慰めているdata'オブジェクトを共有してくださいだろうか? – vijayP

+0

'var hashStrings = hashArray.toString()。split( '、');'の結果は何ですか? – guest271314

+0

@ guest271314:空の文字列または内容のある文字列。 – realbadrabbits

答えて

1

配列の.lengthを確認してください。 0の場合、要素は含まれていません。その場合は、次のループ反復までcontinueになります。 EDIT我々がテストしているアレイのコメントあたり、あなたがdata.data[x].tags.lengthをテストすることがあります可能性が高いようだ:

success: function(data){ 
    console.log(data); 
    for(x in data.data){ 
    if (data.data[x].tags.length == 0) continue; 

    var hashArray = data.data[x].tags; 
    var hashStrings = hashArray.toString().split(','); 
    var hashtags = ''; 

    for(var i = 0; i < hashStrings.length; i++) { 
     hashtags = hashStrings[i]; 
     console.log(hashtags);   
    } 
    } 
} 
+0

@ guest271314彼はどのアレイを意味するのか分かりませんでした。 –

+0

私はコードを見直すことに同意します、あなたはおそらく正しいでしょう! –

+0

'if(data.data [x] .tags.length!== 0)'ですが、問題は 'var hashStrings = hashArray.toString()。split( '、');' – guest271314

関連する問題