我做了一个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);
}
}
}
答案 0 :(得分: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);
}
}
}