今天产品让我优化一下echarts,如果柱状图数据全部为0的话,就显示一个暂无数据的文字提示。按照一般说,如果是一个数组,就判断一下length,如果是多个的话,不太想写很多的if判断。于是我就思考了一下:
在这里我用的是every,
- every()方法用于检测数组中的所有元素是否都满足指定条件(该条件为一个函数)。
- every()方法会遍历数组的每一项,如果有有一项不满足条件,则表达式返回false,剩余的项将不会再执行检测;如果遍历完数组后,每一项都符合条,则返回true。
- array.every(function(currentValue,index,arr), thisValue)
参数说明:
- 第一个参数为一个回调函数,必传,数组中的每一项都会遍历执行该函数。
currentValue:必传,当前项的值
index:选传,当前项的索引值
arr:选传,当前项所属的数组对象- 第二个参数thisValue为可选参数,回调函数中的this会指向该参数对象。
- every() 不会对空数组进行检测,也 不会改变原始数组
let a1 = [1,2,3,4],a2 = [0,0,0],a3 = [0,0,0]
let allNum = [...a1, ...a2, ...a3]
let allNum = [...a1, ...a2, ...a3].every(item => item <= 0)
if(allNum) {
console.log('11')
}else {
console.log('222')
}
总结
记录一下~