对象扁平化
作者:互联网
递归
function flat(obj) {
// 你的代码
const back = {};
recursion(obj, null);
function recursion(o, prev) {
for (let key in o) {
if (o[key] instanceof Object) {
if (prev === null) {
recursion(o[key], key);
} else {
recursion(o[key], prev + '.' + key);
};
} else {
if (prev === null) {
back[key] = o[key];
} else {
back[prev + '.' + key] = o[key];
};
};
};
};
console.log(back);
return back;
};
// 最终效果是执行
flat({
a: {
b: 1,
c: 2,
d: { e: 5 }
},
b: [1, 3, { a: 2, b: 3 }],
c: 3
})
标签:null,扁平化,对象,recursion,back,else,key,prev 来源: https://www.cnblogs.com/MrZhujl/p/16128470.html