如何统计JavaScript对象中非空有效值的属性数量?
统计JavaScript对象中符合条件的属性数量
先看示例对象:
let obj = { name: '', age: 16, address: '', city: '', pin: 4564 }
需求是统计该对象中值不为空字符串、0或undefined的属性数量,示例中符合条件的是age和pin,最终结果需要为2。
方法一:利用数组方法快速统计
通过Object.values()提取对象所有值,再用filter筛选符合条件的值,最后取数组长度:
const validCount = Object.values(obj).filter(val => val !== '' && val !== 0 && val !== undefined).length; console.log(validCount); // 输出 2
方法二:手动遍历计数
用for...in循环遍历对象属性,逐个判断并累加符合条件的数量:
let validCount = 0; for (const key in obj) { const value = obj[key]; if (value !== '' && value !== 0 && value !== undefined) { validCount++; } } console.log(validCount); // 输出 2
内容的提问来源于stack exchange,提问作者Lex V
相关产品推荐
相关产品推荐

