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

为何我的JavaScript函数仅返回一个符合条件的元素?

解决你的JavaScript筛选函数问题

嘿,我太懂你盯着代码半天找不到问题的感觉了!你的函数现在只返回第一个符合条件的元素,核心问题出在return语句的使用上——当你在循环里直接return arr[i]时,函数会立刻终止执行,所以它找到第一个长度为4的字符串后就停住了,根本不会继续检查后面的元素。

修正方案1:用循环收集所有符合条件的元素

我们可以先创建一个空数组来存储结果,遍历原数组时把符合条件的元素添加进去,等整个循环结束后再返回这个结果数组:

function isFourLetters(arr) {
  const fourLetterWords = [];
  // 注意这里用let声明i,避免污染全局变量
  for (let i = 0; i < arr.length; i++) {
    if (arr[i].length === 4) {
      fourLetterWords.push(arr[i]);
    }
  }
  return fourLetterWords;
}

修正方案2:用数组的filter方法(更简洁)

JavaScript数组自带filter方法,专门用来筛选符合条件的元素,它会自动遍历数组并返回所有满足条件的元素组成的新数组,代码会更简洁易读:

function isFourLetters(arr) {
  return arr.filter(word => word.length === 4);
}

filter的逻辑是:遍历数组中的每个元素,将传入的回调函数返回true的元素收集起来,最后返回这个新数组,完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:22:56