我试图获取一个JavaScript数组字符串,并根据其中的所有元素返回一个布尔值。非空字符串之间的逻辑&&
应该返回true。我找到了使用!!("String1" && "String2")
在两个字符串之间返回bool的简单方法。
但是,如果我在像var myArr = ["String1","String2"]
这样的数组中有这两个字符串,我该怎么做呢?
答案 0 :(得分:4)
您正在寻找与array every
method结合的Boolean
cast:
var myArr = ["String1","String2"]
myArr.every(Boolean) // true
事实上你可以使用识别功能,或String
,但为了更好地表达你的意图,可以使用它:
myArr.every(function(str) { return str.length > 0; }) // true
答案 1 :(得分:0)
这样的事情怎么样?
function checkArr(arr) {
for (var i = 0, length = arr.length; i < length; i++) {
if (!arr[i]) return false;
}
return true;
}
checkArr(['a','b']); // true
checkArr(['a','']); // false
或者你可以用一个略带hackish的衬里来做这件事:
return !arr.join(',').match(/(^$|^,|,,|,$)/);
答案 2 :(得分:0)
使用every
:
function isEmpty(strings){
return !strings.every(function(str){
return !!str;
});
}