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

JavaScript如何对数组奇数位置值翻倍并返回完整数组

实现方案

你之前使用indexOf出错的核心原因是:该方法只会返回指定元素在数组中第一次出现的位置,数组存在重复元素时无法获取到当前遍历项的真实索引,因此无法正确判断位置做翻倍处理。

使用JS原生Array.map方法可以直接在遍历过程中拿到当前元素和对应索引,一行代码就能实现需求:

let num = "123456"
let numArray = Array.from(num)
// 处理逻辑:0起始索引为奇数的位置翻倍,其余保持原值
const newArray = numArray.map((val, idx) => idx % 2 === 1 ? Number(val) * 2 : Number(val))

运行后newArray的值就是你预期的[1,4,3,8,5,12]。

如果你后续需要调整为**从1开始计数的奇数位置(即第1、3、5位)**做翻倍,只需要把判断条件改为idx % 2 === 0即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:06:03