2016-08-12 121 views
0

我做了一個AJAX調用,返回了20個數組,其中一些是空的,還有其他數組中有一個或多個項。我使用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用於下一次循環迭代。 編輯每因爲我們正在測試的陣列的意見,似乎更有可能你會被測試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