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

如何在JavaScript中遍历数组获取长度不大于4的新数组

错误原因

你写的filter回调逻辑完全不符合需求:

  • 你在回调中返回的是project[index <= 4],本质是先计算index <=4得到布尔值,再将布尔值隐式转为数字1(true对应)或0(false对应),最后取project字符串对应索引位置的字符,该逻辑和「保留前4个元素」没有任何关联。
  • 你得到空数组是因为该逻辑返回的结果在你的运行场景下全为假值,所以没有元素被保留。
修正方案

如果一定要用filter实现,直接将索引判断结果作为返回值即可:

const projects = [
  'landing page',
  'portfolio page',
  'e-commerce app',
  'Dapps',
  'signup page',
  // ... even more
];

const newProjects = projects.filter((project, index) => {
  // 索引从0开始,小于4的对应前4个元素
  return index < 4
})

console.log(newProjects);
更优实现

如果只是截取数组前4个元素,不需要遍历全数组的filter,直接用slice方法性能更高,且不会修改原数组:

const newProjects = projects.slice(0,4)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:57:03