鍍金池/ 問(wèn)答/Java  PHP  Python  HTML/ 如何最優(yōu)判斷,特定的4個(gè)選項(xiàng)中至少有3個(gè)不為空,如下圖和代碼

如何最優(yōu)判斷,特定的4個(gè)選項(xiàng)中至少有3個(gè)不為空,如下圖和代碼

<!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>
回答
編輯回答
晚風(fēng)眠

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

2017年2月26日 09:22
編輯回答
生性

可以試試reduce

var arr = [a,b,c,d]
var count = arr.reduce(function (sum,currVal) {!!currVal&&sum++;return sum},0)
2018年4月26日 14:25
編輯回答
陪她鬧
lst = ["a", "b", "c", ""]

res = sum(map(len,lst))
2018年5月11日 14:06
編輯回答
凝雅
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)

想法是可以退出。。。夠了三個(gè)就ok。
當(dāng)然如果就你開(kāi)始那個(gè)數(shù)據(jù)結(jié)構(gòu),肯定也沒(méi)啥搞頭。
還有filter之后拿length。

2018年3月1日 19:26
編輯回答
嫑吢丕
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')
}

除了好看沒(méi)什么軟用

2018年6月1日 08:07