【问题标题】:Javascript library to map between objects? [closed]Javascript库在对象之间映射? [关闭]
【发布时间】:2017-02-04 22:08:08
【问题描述】:

我似乎总是遇到这个问题,我需要在源和目标的对象布局之间进行映射。

例如

我的表单可能有诸如

之类的数据
{
  field1: 123,
  field2: "test"
}

但我的 API 期望数据是:

{
   apiCol1: 123,
   apiCol2: "test"
}

显然,您每次都可以手动执行此操作。但是,是否有一个本地 JS 工具或 JS 库可以在给定字段映射的两个不同对象模式之间进行映射,而不是重新发明轮子?

【问题讨论】:

  • 为什么不改变表格?顺便说一句,要求图书馆不是这样。
  • 您只是想重命名密钥?
  • @NinaScholz 知道我可以去的地方吗?
  • @hackerrdave 是和否,希望使用具有相同值的新键创建一个新对象

标签: javascript


【解决方案1】:

你可以为此创建一个函数,像这样

var schema = {
  field1: 'apiCol1',
  field2: 'apiCol2',
};

function map(schema, obj) {
  return Object.keys(obj).reduce((a, k) => {
    a[schema[k]] = obj[k];
    return a;
  }, {});
}

var result = map(schema, {
  field1: 123,
  field2: "test"
});

console.log(result);

【讨论】:

    猜你喜欢
    • 2012-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2022-01-23
    • 2022-11-17
    • 1970-01-01
    • 2021-12-15
    相关资源
    最近更新 更多