如果满足下列条件之一,则字段被视为“空”:
null
。""
或''
)。[]
)。undefined
{}
) false
或0
等值不得视为空。
如何检查值是否为空 例如:
function isEmpty(value){
//code
return bool
}
console.log("False Cases:")
console.log(isEmpty('A')) //false
console.log(isEmpty(false)) //false
console.log(isEmpty(true)) //false
console.log(isEmpty(0)) //false
console.log(isEmpty(["test"])) //false
console.log(isEmpty({"test": "test"})) //false
console.log("True Cases:")
console.log(isEmpty({})) //true
console.log(isEmpty('')) // true
console.log(isEmpty(null)) //true
console.log(isEmpty()) //true
console.log(isEmpty([])) //true
console.log(isEmpty(undefined)) //true
修改 我已经包含了必须通过的测试结果
答案 0 :(得分:2)
你可以简单地检查这样的平等:
const isEmpty = (val) => val === '' || val === null || val === undefined || (Array.isArray(val) && val.length === 0) || JSON.stringify(val) === '{}';
console.log(isEmpty('A'));
console.log(isEmpty(false));
console.log(isEmpty(true));
console.log(isEmpty(0));
console.log(isEmpty(''));
console.log(isEmpty(null));
console.log(isEmpty());
console.log(isEmpty([]));
console.log(isEmpty(undefined));
console.log(isEmpty({}));
console.log(isEmpty({"test":"test"}));
console.log(isEmpty(["test"]));
答案 1 :(得分:1)
您可以使用JSON.stringify( value )
并检查结果是undefined
,'null'
,'[]'
,'{}'
还是'""'
:< / p>
function isEmpty( value ) {
return [,'null','[]','{}','""'].includes( JSON.stringify( value ) )
}
console.log( 'True cases: ' );
console.log(isEmpty(''));
console.log(isEmpty(null));
console.log(isEmpty());
console.log(isEmpty([]));
console.log(isEmpty({}));
console.log(isEmpty(undefined));
console.log( '\nFalse cases: ' );
console.log(isEmpty({"test": "test"}));
console.log(isEmpty('A'));
console.log(isEmpty(false));
console.log(isEmpty(true));
console.log(isEmpty(0));
console.log(isEmpty(["test"]));
&#13;
答案 2 :(得分:1)
您可以将其转换为String(value)
但在此之前检查是否null
或undefined
以避免错误
function isEmpty(value){
//code
return typeof(value) == 'undefined' || value === null || !String(value) || (typeof(value) == 'object' && (!Array.isArray(value) && Object.keys(value) == 0) || (Array.isArray(value) && value.size == 0));
}
console.log("False Cases:")
console.log('A => ' + isEmpty('A'))
console.log('false => ' + isEmpty(false))
console.log('true => ' + isEmpty(true))
console.log('0 => ' + isEmpty(0))
console.log('["test"] => ' + isEmpty(["test"]))
console.log('{"test": "test"} => ' + isEmpty({"test": "test"}))
console.log('{"test": {}} => ' + isEmpty({"test": {}}))
console.log('[false] => ' + isEmpty([false]))
console.log('[true] => ' + isEmpty([true]))
console.log('[{}] => ' + isEmpty([{}]))
console.log("True Cases:")
console.log('{} => ' + isEmpty({})) //true
console.log(' => ' + isEmpty('')) // true
console.log('null => ' + isEmpty(null)) //true
console.log('undefined => ' + isEmpty()) //true
console.log('[] => ' + isEmpty([])) //true
console.log('undefined => ' + isEmpty(undefined)) //true
&#13;
答案 3 :(得分:0)
尝试此功能:
function is_empty(value) {
return (
value === '' ||
value === null ||
value === undefined ||
(Array.isArray(value) && value.length === 0)
);
}
console.log(is_empty(null));
console.log(is_empty('string'));
console.log(is_empty([]));
console.log(is_empty(''));
console.log(is_empty(1));
console.log(is_empty());
&#13;
更新代码试试此
function isEmpty(value) {
return (
value === '' ||
value === null ||
value === undefined ||
(Array.isArray(value) && value.length === 0)||
(typeof value === "object" && Object.keys(value).length === 0)
);
}
console.log("False Cases:")
console.log(isEmpty('A')) //false
console.log(isEmpty(false)) //false
console.log(isEmpty(true)) //false
console.log(isEmpty(0)) //false
console.log(isEmpty(["test"])) //false
console.log(isEmpty({"test": "test"})) //false
console.log("True Cases:")
console.log(isEmpty({})) //true
console.log(isEmpty('')) // true
console.log(isEmpty(null)) //true
console.log(isEmpty()) //true
console.log(isEmpty([])) //true
console.log(isEmpty(undefined)) //true
&#13;