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

未使用function关键字定义函数后无法打印结果的技术求助

问题分析与解决方案

首先,你初始代码里的语法错误是因为箭头函数的写法不符合规范——你错误地写成了const response = howMany(people) { ... },这完全偏离了箭头函数的定义语法,正确的箭头函数格式应该是const 函数名 = (参数) => { 函数体 },这就是你触发Unexpected token '{'报错的核心原因。

修正后的完整箭头函数代码

你更新后的箭头函数语法已经是正确的了,只需要恢复打印语句,或者确保调用函数后输出结果即可。另外要注意:你的age数组里的元素是字符串类型,虽然JavaScript会自动做类型转换,但显式转为数字能避免字符串比较的潜在问题,让逻辑更严谨:

var age = ["14", "20", "25"];
const howMany = (people) => {
  let oldCitizen = [];
  for (let i = 0; i < people.length; i++) {
    // 显式将字符串转为数字,规避字符串比较的隐患
    if (Number(people[i]) >= 15) {
      oldCitizen.push(people[i]);
    }
  }
  return oldCitizen;
}
// 调用函数并打印结果
console.log(howMany(age)); // 控制台输出:["20", "25"]

关于你PHP嵌入调用的问题

你后面用PHP输出的<script>howMany(["14", "20", "25"]);</script>只是调用了函数,但没有打印结果,所以浏览器控制台不会显示内容,需要修改为:

<?php echo '<script type="text/javascript">console.log(howMany(["14", "20", "25"]));</script>'; ?>

额外优化:用数组方法简化代码

如果想让代码更简洁优雅,还可以用数组的filter方法替代循环,箭头函数配合filter能大幅精简代码:

var age = ["14", "20", "25"];
const howMany = (people) => people.filter(item => Number(item) >= 15);

console.log(howMany(age)); // 控制台输出:["20", "25"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 22:07:28