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

JavaScript遍历JSON相似键名实现strOption与strPrice配对的问题

实现逻辑

  1. 遍历cars.car数组下的所有车辆对象
  2. 对每个车辆对象,循环遍历序号1~10,依次取出对应strOption[i]和strPrice[i]的值
  3. 仅当两个值都不为空时,才将二者分别推入strOptions和strPrices数组,保证二者索引始终配对
  4. 删除所有原始的strOption[i]和strPrice[i]冗余字段,将新生成的两个数组挂载到车辆对象上

完整实现代码

// 入参为你从API获取的原始cars数据
function formatCarData(rawCars) {
  rawCars.car.forEach(car => {
    const options = [];
    const prices = [];
    // 按题目要求最多遍历到序号10
    for (let i = 1; i <= 10; i++) {
      const opt = car[`strOption${i}`]?.trim() || '';
      const price = car[`strPrice${i}`]?.trim() || '';
      // 仅两个值都非空时加入数组,保证配对
      if (opt && price) {
        options.push(opt);
        prices.push(price);
      }
      // 清除冗余字段
      delete car[`strOption${i}`];
      delete car[`strPrice${i}`];
    }
    // 挂载处理后的数组
    car.strOptions = options;
    car.strPrices = prices;
  });
  return rawCars;
}

// 调用示例
const processedCars = formatCarData(你的原始API返回的cars数据);
console.log(processedCars); // 输出符合你要求的格式

注意点

  • 代码中加了trim()处理,会自动过滤掉值为全空格的无效内容
  • 严格保证同序号的option和price同时存在才加入数组,不会出现两个数组长度不一致的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:36:04