如何优化JS中的for循环,使其适配对象中每一个新增的用户
JS代码优化方案
要实现自动处理新增用户、无需手动编写重复逻辑,直接遍历customers_data的所有动态属性即可,优化后代码如下:
const customers_data = { 'Ben10': [22, 30, 11, 17, 15, 52, 27, 12], 'Sameer': [5, 17, 30, 33, 40, 22, 26, 10, 11, 45], 'Zeeshan': [22, 30, 11, 5, 17, 30, 6, 57] } // 遍历所有用户,新增用户无需修改此处逻辑 for (const [userName, purchaseRecords] of Object.entries(customers_data)) { // 统计消费额≥20的次数 const qualifiedCount = purchaseRecords.filter(amount => amount >= 20).length if (qualifiedCount >= 5) { console.log(`${userName} 获得高级会员资格`) } }
如果需要保留原英文输出,把console.log内容替换为${userName} has Premium Membership即可。
优化优势
- 后续新增用户仅需在
customers_data中添加对应的键值对,无需修改遍历判断逻辑,完全自动适配 - 移除了重复的循环、计数、判断代码,冗余度大幅降低,同时避免了手动重置计数变量可能带来的bug
- 采用
filter方法统计符合要求的数值数量,代码语义更清晰,可读性更高
内容的提问来源于stack exchange,提问作者radek155
相关产品推荐
相关产品推荐

