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

如何将携带唯一ID后缀的Object键值对整理为按ID分组的对象集合

实现代码

你可以通过对象遍历+字符串分割逻辑完成格式转换,代码可直接运行:

// 原始输入数据
const rawData = {
  email_IcWDC6iyNzsQe9sPss4Yy: "xyz@gmail.com",
  email_QVXeOX1vijCtpx8mdD662: "abc@gmail.com",
  mobile_IcWDC6iyNzsQe9sPss4Yy: "223",
  mobile_QVXeOX1vijCtpx8mdD662: "122",
  name_IcWDC6iyNzsQe9sPss4Yy: "mp",
  name_QVXeOX1vijCtpx8mdD662: "pp",
};

const groupMap = {};
// 遍历所有键值对
for (const [key, value] of Object.entries(rawData)) {
  // 只切割第一个下划线,避免唯一ID自身带下划线时出错
  const [field, id] = key.split('_', 2);
  // 初始化ID对应的默认对象
  if (!groupMap[id]) {
    groupMap[id] = {
      id,
      name: "",
      email: "",
      mobile_no: ""
    };
  }
  // 字段映射赋值
  field === 'mobile' ? groupMap[id].mobile_no = value : groupMap[id][field] = value;
}

// 转成数组得到最终结果
const result = Object.values(groupMap);
console.log(result);

核心说明

  • 初始化时默认给所有字段赋值为空字符串,就算某个ID缺少对应字段也不会出现属性缺失的问题
  • 针对mobile字段单独做了键名映射,完全匹配你要求的mobile_no输出字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:27:03