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

如何基于现有键值重构JSON对象并动态设置mode字段值

实现方案

核心逻辑是在遍历键值对时,判断当前值的类型,对应设置不同的mode和istatus即可:

  • 若值为数组(对应Demo-1的单层对象数组场景):mode设为Veri,istatus设为open
  • 若值为纯对象(对应Demo-2的嵌套多数组场景):mode设为Doubled,istatus设为Closed

完整实现代码如下:

const transformedObj = Object.fromEntries(
  Object.entries(obj).map(([key, value]) => {
    const isArrayType = Array.isArray(value)
    // 可选逻辑:如需和预期输出一致把Pepsi Cans替换为Pepsi,保留以下处理代码,不需要可直接删除
    const processedValue = isArrayType 
      ? value.map(item => item.sku === 'Pepsi Cans' ? {...item, sku: 'Pepsi'} : item)
      : value
    return [
      key,
      {
        items: processedValue,
        mode: isArrayType ? 'Veri' : 'Doubled',
        istatus: isArrayType ? 'open' : 'Closed'
      }
    ]
  })
)

代码说明

  1. 用Array.isArray做类型判断,完全匹配你给出的两类输入场景
  2. 保留了可选的sku替换逻辑,如果你不需要修改sku值,直接把items赋值为原始value即可
  3. 字段完全对齐你预期的输出结果,替换了你原有代码里不符合输出要求的status字段和mode取值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:54:03