为了账号安全,请及时绑定邮箱和手机立即绑定

如何最优判断,特定的4个选项中至少有3个不为空,如下图和代码

如何最优判断,特定的4个选项中至少有3个不为空,如下图和代码

LEATH 2019-02-18 13:50:36
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> var arr = []; var a = "a"; var b = "b"; var c = "c"; var d = ""; if(a != ""){ arr.push(a) } if(b != ""){ arr.push(b) } if(c !=""){ arr.push(c) } if(d != ""){ arr.push(d) } console.log(arr) if(arr.length >=3){ console.log("aa") }else{ console.log('bb') } </script> </body> </html>
查看完整描述

5 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

var a = '', b= '', c= 'c',d = 'a""';
var arr = [a, b, c, d];
var sum = 0;
for(var i=0;i<arr.length;i++){
    if(arr[i]!==''){
        sum++;
        if(sum>3){
            break;
        }
    }
} 
console.log(sum)

想法是可以退出。。。够了三个就ok。
当然如果就你开始那个数据结构,肯定也没啥搞头。
还有filter之后拿length

查看完整回答
反对 回复 2019-03-01
?
冉冉说

TA贡献1877条经验 获得超1个赞

可以试试reduce

var arr = [a,b,c,d]
var count = arr.reduce(function (sum,currVal) {!!currVal&&sum++;return sum},0)
查看完整回答
反对 回复 2019-03-01
?
动漫人物

TA贡献1815条经验 获得超10个赞

filter函数就行吧。
var arr = ['a', 'b', 'c', ''];
if (arr.filter(item => item).length > 3) { ... }

查看完整回答
反对 回复 2019-03-01
?
浮云间

TA贡献1829条经验 获得超4个赞

var a = '', b= '', c= 'c',d = 'a""';
var reg = /("",|,"")/g;
var arr = [a, b, c, d];
arr = JSON.stringify(arr);
if(arr.match(arr).length > 1) {
    console.log('<3')
} else {
    console.log('>=3')
}

除了好看没什么软用

查看完整回答
反对 回复 2019-03-01
?
HUWWW

TA贡献1874条经验 获得超12个赞

lst = ["a", "b", "c", ""]

res = sum(map(len,lst))
查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 543 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信