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

如何根据language_id动态生成对象key并将对应值设置为空字符串

实现方案
  • 先拆分字段为三类:无语言关联的固定字段、带语言ID后缀的动态字段、固定结构的嵌套字段upload_image
  • 提前定义需要拼接语言ID的字段前缀数组,通过遍历拼接传入的language_id生成对应动态键,值统一设为空字符串
  • 合并所有字段后传入reset方法即可,后续新增语言关联字段只需修改前缀数组,维护成本低
单语言场景代码示例
// 入参为你实际业务中的动态language_id
function generateResetParams(languageId) {
  // 无需拼接语言ID的固定字段配置
  const fixedParams = {
    delivery: '',
    dine_in: '',
    hidden: '',
    hide_category_tile_details: '',
    internal_name: '',
    size: '',
    takeaway: '',
    upload_image: {
      id: '',
      src: '',
      image_url: '',
      result: null
    }
  };

  // 带语言ID后缀的字段前缀列表
  const langRelatedPrefix = ['title', 'serves', 'description'];

  // 动态生成语言关联字段
  const langParams = langRelatedPrefix.reduce((result, prefix) => {
    result[`${prefix}${languageId}`] = '';
    return result;
  }, {});

  // 合并后返回完整的reset入参
  return { ...fixedParams, ...langParams };
}

// 调用示例,比如当前language_id为3
reset(generateResetParams(3));
多语言场景扩展

如果需要同时生成多个语言对应的字段,只需额外遍历支持的语言ID列表即可:

const supportLangIds = [1,2,3]; // 你实际支持的语言ID列表
const langParams = {};
supportLangIds.forEach(langId => {
  langRelatedPrefix.forEach(prefix => {
    langParams[`${prefix}${langId}`] = '';
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:45:09