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

JavaScript如何按指定索引范围筛选数组并移除区间外元素

数组指定索引范围元素筛选方案

你可以用以下几种JS原生方法实现需求,三种方案各有适用场景:

方案1:使用slice()(最推荐)

slice()是JS数组内置的截取方法,支持传入起始索引(包含)和结束索引(不包含),返回新数组,不会修改原数组,是这类场景的最优选择。
示例代码:

const savings = ["+10$", "-22.50$", "+5$", "+22.40$", "-3.5$"];
// 截取索引1到3(包含两端),第二个参数需传入结束索引+1也就是4
const result = savings.slice(1, 4);
console.log(result); // 输出:["-22.50$", "+5$", "+22.40$"]

方案2:使用filter()(灵活性最高)

如果后续需要叠加元素值的判断规则,可以用filter()方法,遍历数组时判断索引是否在目标范围内即可,同样不会修改原数组。
示例代码:

const savings = ["+10$", "-22.50$", "+5$", "+22.40$", "-3.5$"];
const minIndex = 1;
const maxIndex = 3;
const result = savings.filter((_, index) => index >= minIndex && index <= maxIndex);
console.log(result); // 输出:["-22.50$", "+5$", "+22.40$"]

方案3:使用splice()(修改原数组)

如果需要直接在原数组上移除范围外的元素,可以用splice(),注意该方法会改动原数组,仅在确定需要修改原数据时使用。
示例代码:

const savings = ["+10$", "-22.50$", "+5$", "+22.40$", "-3.5$"];
// 先删除索引4及之后的所有元素
savings.splice(4);
// 再删除索引0位置的1个元素
savings.splice(0, 1);
console.log(savings); // 输出:["-22.50$", "+5$", "+22.40$"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:36:08