我有一个名为options
的4个字符串组成的数组
我目前正在使用以下命令检查其中的所有元素是否为空:
options.every(option => Boolean(option))
我想检查至少2个为非空,例如:
有效
["opt1", "opt2", "", ""]
["opt1", "opt2", "", "opt4"]
无效
["opt1", "", "", ""]
["", "", "", ""]
任何帮助表示赞赏!
答案 0 :(得分:4)
function hasEmptyStrings(arr, n) {
return arr.filter(e => !e).length <= n
}
var arrays = [
["opt1", "opt2", "", ""],
["opt1", "opt2", "", "opt4"],
["opt1", "", "", ""],
["", "", "", ""]
]
arrays.forEach(arr => {
console.log(hasEmptyStrings(arr, 2))
})
答案 1 :(得分:1)
您可以使用js filter
方法进行检查。
const arr1 = ["opt1", "opt2", "", "opt4"];
const arr2 = ["opt1", "", "", "opt4"];
const isValid = (arr) => {
return arr.filter(item => {
return item.length === 0;
}) < 2;
}
console.log(isValid(arr1));
console.log(isValid(arr2));