逻辑&&一串字符串

时间:2015-03-29 23:57:06

标签: javascript arrays string boolean

我试图获取一个JavaScript数组字符串,并根据其中的所有元素返回一个布尔值。非空字符串之间的逻辑&&应该返回true。我找到了使用!!("String1" && "String2")在两个字符串之间返回bool的简单方法。

但是,如果我在像var myArr = ["String1","String2"]这样的数组中有这两个字符串,我该怎么做呢?

3 个答案:

答案 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;
    });
}

Demo on JSFiddle