有没有办法确定以下JavaScript数组是空的而无需手动迭代它?
var js_array = Array("", "", "", "")
答案 0 :(得分:4)
我想你要检查数组是否包含一些非空字符串。
使用ILIKE
删除空字符串:
filter
然后你可以检查你想要的任何内容 - 在你的情况下var tmp_js_array = js_array.filter(Boolean)
将是空的。
答案 1 :(得分:1)
有 Array.protoype.every ,它可以用来测试每个值是否符合测试,并为第一个没有的值返回false。因此,如果您对“空”的定义是所有成员都是空字符串,那么:
['','','',''].every(function(v){return !/\S/.test(v)}); // true
如果每个成员不包含任何非空白字符,将返回true。或者,您可以使用 some 来查看是否有任何成员包含非空白字符并否定结果:
!['','','',''].some(function(v){return /\S/.test(v)});