通过 js 原生的 Object.assign 在合并对象时仅仅能够合并一层,那要是对象层级很深的话,这个方法就无法奏效的。 当对象层级很深时,就需要我们自己处理。
这里采用的是借助loadsh库
使用先要先引入 loadsh 库
// Load the full build.
var _ = require('lodash');
// 也可以选择按需加载,参考官方文档
var object = {
q: {
w:
{ a: 1, b: 2 }
}
};
var other = {
q: {
w:
{ a: 3, b: 4, c: 5 }
}
};
// merge方法和assign方法类似,都会修改目标对象。
_.merge(object, other);
// => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
console.log(object);
运行结果:
{ q:{
w:{
a: 3, b: 4, c: 5
}
}
附loadsh链接:www.lodashjs.com/ 非常优秀的三方库,还有许多功能,大家可以看看。
到底啦~~~~~~~