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

将API返回的列数组转换为指定fields格式并兼容IE浏览器

解决方案

要把API返回的字段数组转换成指定格式的fields对象,同时兼容IE浏览器,我们可以用传统的循环方式来实现(避开IE不支持的ES6+特性,比如箭头函数、Object.fromEntries这些):

// API返回的字段数组
const apiFields = ["Id", "Title", "Description", "IsActive"];

// 预先定义需要特殊指定类型的字段映射
const specialTypeMap = {
  Id: "number",
  IsActive: "number"
};

// 构建目标结构
const result = { fields: {} };

// 用IE兼容的for循环遍历数组
for (let i = 0; i < apiFields.length; i++) {
  const fieldName = apiFields[i];
  // 优先取映射表的类型,没有则默认string
  result.fields[fieldName] = {
    type: specialTypeMap[fieldName] || "string"
  };
}

// 最终得到的就是你需要的结构
console.log(result.fields);

细节说明:

  • 用specialTypeMap来集中管理需要特殊类型的字段,后续如果API字段有新增,只要不是需要改类型的,代码不用额外调整,扩展性更好。
  • 选择传统for循环是因为它在所有IE版本里都能正常工作,不会出现兼容性问题。
  • 最终生成的fields结构完全符合要求:
    {
      Id: { type: "number" },
      Title: { type: "string" },
      Description: { type: "string" },
      IsActive: { type: "number" }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:25:27