我正在尝试使用deepmerge为数组创建一个灵活的合并结构,类似于mongodb,在这里我可以传递一个对象,该对象告诉数组应该进行哪种合并。
想法是要有这样的东西:
let a = {
foo: [1, 2, 3]
};
let b = {
foo: [4, 5, 6]
}
deepmerge(a, b, someOptions);
// would result { foo: [4, 5, 6] }
let c = {
foo: { $push: [4, 5, 6] }
}
deepmerge(a, b, someOptions);
// would result { foo: [1, 2, 3, 4, 5, 6] }
类似地,我也可以使用$unshift
。
问题是我不知道要实现这一目标我可以通过的someOptions
。
arrayMerge
不起作用,因为第二个foo
从未被调用,因为它不是数组。 customMerge
不能正常工作,因为我没有类型信息,只有字段名称(可以是任何东西)。
我可以使用这些选项的组合吗?我不依赖于Deepmerge,因此也可以接受其他解决方案。谢谢。
答案 0 :(得分:0)
所以我一个星期都没找到答案,所以我不得不自己创建一个lib哈哈哈
我称它为deepmerge-json(是的,我知道我是名字上的“最好的”),它是available on npm。这只是与一些数组合并功能的简单深度合并。任何建议都将受到欢迎。