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

如何将以12为起始、FE为结束的一维数组转换为二维数组

实现思路
  • 遍历一维数组,维护一个临时子数组存储当前正在拼接的子数组元素
  • 遇到元素12时初始化临时数组,将12作为首元素存入
  • 后续遍历到的元素全部存入临时数组,直到遇到FE,将FE存入后把整个临时数组推入结果二维数组,清空临时数组等待下一个子数组起始
  • 自动忽略12出现前、两个子数组间隔区间的无效元素
代码实现

JavaScript 版本

function convertTo2DArray(arr) {
  const result = [];
  let currentSubArr = null;
  for (const item of arr) {
    if (item === '12') {
      currentSubArr = [item];
      continue;
    }
    if (!currentSubArr) continue;
    currentSubArr.push(item);
    if (item === 'FE') {
      result.push(currentSubArr);
      currentSubArr = null;
    }
  }
  return result;
}

// 测试用例
const strarry = ['12', '34', 'A1', 'FE', '12', '34', 'EA', '0', 'FE'];
console.log(convertTo2DArray(strarry)); 
// 输出:[['12','34','A1','FE'], ['12','34','EA','0','FE']]

Python 版本

def convert_to_2d_array(arr):
    result = []
    current_sub_arr = None
    for item in arr:
        if item == '12':
            current_sub_arr = [item]
            continue
        if not current_sub_arr:
            continue
        current_sub_arr.append(item)
        if item == 'FE':
            result.append(current_sub_arr)
            current_sub_arr = None
    return result

# 测试用例
strarry = ['12', '34', 'A1', 'FE', '12', '34', 'EA', '0', 'FE']
print(convert_to_2d_array(strarry))
# 输出:[['12','34','A1','FE'], ['12','34','EA','0','FE']]
边界情况说明
  • 仅保留完整的12到FE区间,12出现后无对应FE的不完整片段不会被计入结果
  • 出现连续多个12时,以最后一个遇到的12作为子数组起始
  • 起始标识12和结束标识FE都会被包含在生成的子数组中,和需求示例一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:09:02