Javascript 逻辑&&;字符串数组的

Javascript 逻辑&&;字符串数组的,javascript,arrays,string,boolean,Javascript,Arrays,String,Boolean,我试图获取一个字符串的JavaScript数组,并基于其中的所有元素返回一个布尔值。非空字符串之间的逻辑&&应返回true。我发现了一种简单的方法,可以使用在两个字符串之间返回bool!!(“String1”和&“String2”) 但是,如果我将这两个字符串放在一个数组中,比如var myArr=[“String1”,“String2”],我该怎么做呢?像这样的东西怎么样 function checkArr(arr) { for (var i = 0, length = arr.lengt

我试图获取一个字符串的JavaScript数组,并基于其中的所有元素返回一个布尔值。非空字符串之间的逻辑
&&
应返回true。我发现了一种简单的方法,可以使用
在两个字符串之间返回bool!!(“String1”和&“String2”)


但是,如果我将这两个字符串放在一个数组中,比如
var myArr=[“String1”,“String2”]
,我该怎么做呢?

像这样的东西怎么样

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

像这样的怎么样

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

这里有一个很好的解决方案,使用
每一个

function isEmpty(strings){
    return !strings.every(function(str){
        return !!str;
    });
}

这里有一个很好的解决方案,使用
每一个

function isEmpty(strings){
    return !strings.every(function(str){
        return !!str;
    });
}

您正在寻找的是结合了:

事实上,您也可以使用identify函数,或者
String
,不过为了正确传达您的意图,最好将其明确化:

myArr.every(function(str) { return str.length > 0; }) // true
您正在寻找结合了以下功能的:

事实上,您也可以使用identify函数,或者
String
,不过为了正确传达您的意图,最好将其明确化:

myArr.every(function(str) { return str.length > 0; }) // true

一行程序有点太粗俗了,它会在一些包含逗号的字符串上失败。如果必须,最好使用不太常用的分隔符。顺便说一句,
test
比这里的
match
更合适。一行代码有点太粗糙了,它会在一些包含逗号的字符串上失败。如果必须,最好使用不太常用的分隔符。顺便说一句,
test
比这里的
match
更合适。