JavaScript:统计数组对象中指定键的存在次数
统计数组对象中指定字段的存在次数
要统计数组对象中指定键的存在次数,只需检查每个对象自身是否包含该键(无论对应值是什么),再统计符合条件的对象数量即可。针对你的示例数组,这里提供两种常用实现方式:
方法一:使用filter + Object.hasOwn
const arr = [{name:'Linus',rate:'23'},{name:'Sebastin'},{name:'Alex',rate:''}]; const rateCount = arr.filter(obj => Object.hasOwn(obj, 'rate')).length; console.log(rateCount); // 输出 2
Object.hasOwn(obj, 'rate')会精准判断对象自身是否包含rate键,哪怕键对应的值是空字符串也会返回true,过滤后取数组长度就是目标次数。
方法二:使用reduce(更高效,无需创建新数组)
const arr = [{name:'Linus',rate:'23'},{name:'Sebastin'},{name:'Alex',rate:''}]; const rateCount = arr.reduce((total, obj) => { return Object.hasOwn(obj, 'rate') ? total + 1 : total; }, 0); console.log(rateCount); // 输出 2
reduce通过累加器遍历数组,每遇到包含rate键的对象就给累加器加1,初始值设为0,最终得到的累加器值就是统计结果。
内容的提问来源于stack exchange,提问作者user10900615
相关产品推荐
相关产品推荐

