对象合并
let obj1_ = {
a: 11,
b: {
c: 22,
f: 11,
e: {
x: 9,
xx: 99,
xxx: {
xx: 111
}
}
}
}
let obj2_ = {
project: 'xx_pc',
key: 'info',
a: 333,
b: {
c: 333,
d: 444,
e: {
x: 999,
z: {
a: 1
}
}
}
}
function mergeObj(from, to) {
for (let key in from) {
if (String(from[key]) === '[object Object]' && to[key]) {
mergeObj(from[key], to[key])
} else {
to[key] = from[key]
}
}
return to
}
let newObj = mergeObj(obj1_, obj2_)
console.log(newObj)
结果
取值
let obj1_ = {
a: 11,
b: {
c: 22,
f: 11,
e: {
x: 9,
xx: 99,
xxx: {
xx: 111
}
}
}
}
function getObjValue(obj, keys) {
let obj_ = JSON.parse(JSON.stringify(obj))
for (let i = 0; i < keys.length; i++) {
if (obj_[keys[i]]){
obj_ = obj_[keys[i]]
} else {
return null
}
}
return obj_
}
const val = getObjValue(obj1_, ['b', 'e', 'xxx', 'xx'])
console.log(val)