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

如何获取数组中连续成对数字4的索引位置?

解决方案

首先明确需求:遍历数组,找出所有不重叠的连续两个4的索引对,将这些索引存入输出数组(可根据需求选择存入每对的两个索引,或仅第一个索引)。

正确实现代码

以下是符合需求的JavaScript代码,会收集每对连续4的两个索引,且避免重叠处理连续多个4的情况:

console.clear();
// 你的输入数组
let arr = [9,4,4,8,90,4,9,4,4,4,4,4,4,4,4,4,7,9,2,4,4,4,4,4,8,4,4,4,4];
let output = [];

for (let i = 0; i < arr.length - 1; i++) {
    // 检查当前元素与下一个元素是否均为4
    if (arr[i] === 4 && arr[i + 1] === 4) {
        // 将这对4的两个索引加入输出数组
        output.push(i, i + 1);
        // 跳过下一个元素,避免重叠处理(例如连续四个4会拆成两组,而非三组)
        i++;
    }
}

console.log(output);

如果你的期望输出仅需要每对连续4的第一个索引,可修改代码为:

console.clear();
let arr = [9,4,4,8,90,4,9,4,4,4,4,4,4,4,4,4,7,9,2,4,4,4,4,4,8,4,4,4,4];
let output = [];

for (let i = 0; i < arr.length - 1; i++) {
    if (arr[i] === 4 && arr[i + 1] === 4) {
        output.push(i);
        i++;
    }
}

console.log(output);

原代码问题分析

你原来的代码逻辑完全偏离需求:它是在寻找与相邻元素不同且不为4的元素索引,和“找连续4的索引”没有关联,因此无法得到正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 11:35:22