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

JavaScript按数组元素位置奇偶规则提取字符拼接结果不符求解

代码偏差原因排查
  • 判断逻辑错位:规则要求基于元素在数组中的索引位置匹配处理方式,但现有代码错误地将数组元素(字符串)赋值给index变量,对转换为数字的字符串做取模判断奇偶,完全没有用到循环计数器i来判断数组索引的奇偶性。
  • 分支提取逻辑不匹配规则:
    • 数组偶数索引的元素需提取字符串的奇数位字符(从索引1开始、步长2),这部分循环逻辑本身符合要求,但因为前置判断错位无法正确触发。
    • 数组奇数索引的元素需提取字符串的偶数位字符(从索引0开始、步长2),但现有代码中该分支的循环仍然从索引1开始、步长2,和上一个分支逻辑完全一致,没有对应规则调整提取范围。
修正后实现

调整后的代码修正了判断逻辑和提取规则,运行输出和预期完全匹配:

const arr = [ '00011100', '00000001', '00101101', '11111111' ];
let enigma = "";
for(let i = 0; i < arr.length; i++){ 
    const strItem = arr[i];
    let resStr = ""; 
    // 判断当前元素的数组索引奇偶性
    if(i % 2 === 0) {
        // 偶数数组索引:保留字符串奇数位置字符
        for(let j = 1; j < strItem.length; j += 2) {
            resStr += strItem[j];
        }
    } else {
        // 奇数数组索引:保留字符串偶数位置字符
        for(let j = 0; j < strItem.length; j += 2) {
            resStr += strItem[j];
        }
    }
    enigma += resStr;      
}
console.log(enigma) // 输出0110000000111111,对应预期拆分结果0110 0000 0011 1111

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.28 06:45:05