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

如何根据给定的索引数组对JavaScript数组进行过滤

错误原因

你现有的写法存在两个核心问题:

  • filter回调的第一个参数是当前遍历的元素值,第二个参数才是你需要用到的元素索引,你当前的逻辑完全没有用到索引参数
  • 拿基础类型的元素值和引用类型的[2,3]做全等比较,二者类型本身就不匹配,判断结果永远为false

实现方案

方案1:用filter实现(适合索引不连续的场景)

// 回调第二个参数index为当前元素的索引,判断是否在目标索引数组内即可
const res = arr.filter((_, index) => [2, 3].includes(index))

执行后得到的结果为[3, 4],符合需求。

方案2:用slice实现(适合连续索引场景,性能更高)

如果要取的索引是连续的,直接用slice方法更简洁高效,slice的第一个参数为起始索引(包含),第二个参数为结束索引(不包含):

const res = arr.slice(2, 4)

执行结果和filter方案一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:12:00