You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改HTML内嵌JS代码,筛选收入超50万的超级英雄真实姓名并打印

筛选收入超50万的超级英雄姓名

原代码无法实现需求,核心问题如下:

  1. 未遍历taxForms数组,单个if判断只能检查固定位置元素,无法覆盖所有超级英雄数据
  2. taxForms[income]写法错误:income不是数组索引值,要访问数组中每个对象的收入属性,需先获取单个对象,再通过.income调用
  3. 输出的是整个数组,而非符合条件的超级英雄真实姓名

以下是几种可行的修正方案:

方案一:使用forEach遍历数组(简洁直观)

修改HTML中的脚本部分为:

taxForms.forEach(hero => {
  // 判断当前超级英雄的收入是否超过50万
  if (hero.income > 500000) {
    // 输出符合条件的真实姓名
    console.log(hero.realName);
  }
});

方案二:使用普通for循环

如果习惯传统循环写法,也可以用:

for (let i = 0; i < taxForms.length; i++) {
  const currentHero = taxForms[i];
  if (currentHero.income > 500000) {
    console.log(currentHero.realName);
  }
}

方案三:先筛选再输出(逻辑分离)

先通过filter筛选出符合条件的对象,再遍历输出姓名:

// 筛选收入超50万的超级英雄
const highIncomeHeroes = taxForms.filter(hero => hero.income > 500000);
// 遍历输出真实姓名
highIncomeHeroes.forEach(hero => console.log(hero.realName));

运行任意一种方案,控制台都会输出:

Bruce Wayne
Selina Kyle

内容的提问来源于stack exchange,提问作者Gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 16:30:49