【发布时间】:2017-11-27 18:04:09
【问题描述】:
我知道我应该在这种情况下使用 Object.assign 但分配覆盖。我想合并公共属性。
这里是上下文:
我有这个对象数组。
let myObjectArray = [
{ p1 : ["0000"], p2: "test", p3: "mamama" },
{ p1 : ["0100"], p2: "blabla", p3: "blablabla" },
{ p1 : ["0431"], p2: "test", p3: "mamama" }
]
Prop1 和 prop3 的属性 p2 和 p3 的值相同,只是两者的 p1 不同。当 p2 和 p3 具有相同的值时,我想合并这个数组。这是我想要的结果:
let resultArray = [
{ p1 : ["0000", "0431"], p2: "test", p3: "mamama" },
{ p1 : ["0100"], p2: "blabla", p3: "blablabla" },
]
我不知道该怎么做:使用assign()?或双循环来检查公共值,但由于双循环,我应该删除这种情况。有没有更好的解决方案?
【问题讨论】:
-
查看 Array reduce - 可能会使代码更易于管理
-
你可能想检查你的“对象数组”——它不是有效的语法——你的预期结果数组也不是
-
最后 - 了解数字
0431是十进制281,0100是十进制64 -
请定义common,为什么
prop3有两个属性与p3? 合并之后prop3会发生什么? -
哎呀,对不起,那是早上。纠正那个。数字用于测试,想象一下不同的字符串或数字。这只是一个例子。我想知道如何做到这一点以适应我的项目
标签: javascript arrays object merge