Javascript中是否有更好的方法可以对我想要的多个元素进行空检查
#if CHARKHUNE
import charkhunePayment
#endif
因此,总共我最初将14个变量设置为null,并且如果它们全部为“ null”,我想仅对它们应用一种解决方案。
a=null; b=null;....n=null;
有没有更好的方法检查null,因为如果我们添加了更多的数组,这可能会很麻烦 谢谢!
答案 0 :(得分:3)
创建一个数组数组,使用Array.every()
对其进行迭代,如果所有项目值均为null
,请执行以下操作:
if([a, b, c, ... n].every(a => a === null)) {
// set some field to false
}
答案 1 :(得分:1)
如果您不熟悉JS,在JS中,值可以是“ falsey”或“ truthy”。如果if
/ while
/ for
的值假设为“真实”,则将运行它们。 JS中很少有“假”值,其余的被认为是“真实的”。假值是:
undefined
0
NaN
null
''
false
(我相信我都知道了。想想“六个罪过”:其中有六个)
因此,请检查以下代码及其结果:
if(0) console.log('yay') // won't run
if(false) console.log('yay') // won't run
if(null) console.log('yay') // won't run
if('') console.log('yay') // won't run
if(NaN) console.log('yay') // won't run
if([]) console.log('yay') // will run
if('0') console.log('yay') // will run
这是一条漫长的说法,如果您想根据数组是否为空来做某事,请尝试以下操作:
let arr = [1,2,3,4]
if(arr.length){
//do stuff if array is not empty
} else {
// do stuff if array is empty
}
现在要真正为您解决问题,请执行以下操作:
const masterArray = [a, b, c, d, ... , n];
let length = 0;
masterArray.forEach(subarr=>{
length += subarr.length;
})
//At this point, if no array had any elements, length would be 0
if(length === 0){
// do stuff
}