【问题标题】:merge two object and rename same property合并两个对象并重命名相同的属性
【发布时间】:2016-08-23 06:18:25
【问题描述】:

我有两个包含一些相似属性的对象。我想将这两个对象合并到一个对象中,并且还想重命名两个对象的相似属性。

var selectedEntity = {"UsageS":"123","DateS":"2016","IsEstimeated":"True"};
var ComapareEntity = {"UsageC":"124","DateC":"2015","IsEstimeated":"False"}

Result = {"UsageS":"123","DateS":"2016","IsEstimeatedS":"True","UsageC":"124","DateC":"2015","IsEstimeatedC":"False"};

请使用 lodash 提出一些解决方案。

【问题讨论】:

  • 对象不能有多个同名键...
  • 这就是我要重命名密钥的原因
  • 将键重命名为什么?您的示例包含重复的键。
  • 对不起,我已经编辑了结果

标签: javascript jquery lodash


【解决方案1】:

尝试将这两个对象放在一个json数组中,这样索引就可以用来命名重复键

   var selectedEntity = {
  "UsageS": "123",
  "DateS": "2016",
  "IsEstimeated": "True"
};
var ComapareEntity = {
  "UsageC": "124",
  "DateC": "2015",
  "IsEstimeated": "False"
}

var toLoopArray = [selectedEntity, ComapareEntity]

var resultantObject = {};
toLoopArray.forEach(function(item, index) {

  for (var keys in item) {
    if (!(resultantObject.hasOwnProperty(keys))) {
      resultantObject[keys] = item[keys]
    } else {
      resultantObject[keys + index] = item[keys]
    }
  }
})
console.log(resultantObject)

JSFIDDLE

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多