const bigbox = {
group1:{
name:'haha',
age:85,
subGroup:{
name:"nini",
age:60,
nextGroup:{
name:"yaya",
age:35,
lastGroup:{
name:"nana",
age:4,
}
}
}
},
}
写一个js方法 返回 以下两个 数组集合;
['group1.name', 'group1.age', 'group1.subGroup.name', 'group1.subGroup.age', 'group1.subGroup.nextGroup.name', 'group1.subGroup.nextGroup.age', 'group1.subGroup.nextGroup.lastGroup.name', 'group1.subGroup.nextGroup.lastGroup.age'],['haha', 85, 'nini', 60, 'yaya', 35, 'nana', 4]
const orderObject = (obj: any,prefix='')=>{
let keys: any = [];
let values: any = [];
for(let key in obj){
const value = obj[key];
const fullKey = prefix?${prefix}.${key}:key;
if(typeof obj[key]==='object' && value !== null){
const [resKeys,resValues] = orderObject(value,fullKey);
keys = keys.concat(resKeys);
values = values.concat(resValues)
}else{
keys.push(fullKey);
values.push(value)
}
}
return [keys,values]
}