2016-08-12 119 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