// 测试数据
const obj = {
"test1": {
"test": "a.b.c"
},
"test2": {
"test": "e.d.f",
"test1": {
"test":"'test66'"
}
}
}
// 封装算法
const digui = (obj, parentId = '') => {
const arrs = Object.entries(obj)
return arrs.reduce((preValue, [key, value]) => {
if (value instanceof Object) {
let linshiArr;
parentId ? (linshiArr = digui(value, `${parentId}.${key}`)) : (linshiArr = digui(value, key))
linshiArr && linshiArr.length && preValue.push(...linshiArr)
}
else {
parentId ? preValue.push(`${parentId}.${key}:${value}`) : preValue.push(`${key}:${value}`)
}
return preValue
}, [])
}
// 使用方式
console.log(digui(obj))
树拉平算法
最新推荐文章于 2024-07-14 18:15:43 发布