Javascript 从父对象中的内部对象推关键帧和值

Javascript 从父对象中的内部对象推关键帧和值,javascript,algorithm,data-structures,Javascript,Algorithm,Data Structures,尽管标题看起来很难,让我给你举个简单的例子。 我有一个目标 { 姓名:“伊桑” 宠物:{猫:“裘琳”,狗:“莫莫”,鸟“咪咪”} }执行此操作的简单方法是使用扩展运算符组合pets对象和其他属性,然后从结果中删除pets const数据={ 姓名:“伊桑”, 宠物:{猫:“裘琳”,狗:“莫莫”,鸟:“咪咪”} } const res={…data,…data.pets}; 删除res.pets; 控制台日志(res)遍历对象中的元素和值。并将值分散到返回对象中 const数据={ 姓名:“

尽管标题看起来很难,让我给你举个简单的例子。 我有一个目标

{
姓名:“伊桑”
宠物:{猫:“裘琳”,狗:“莫莫”,鸟“咪咪”}

}
执行此操作的简单方法是使用扩展运算符组合
pets
对象和其他属性,然后从结果中删除
pets

const数据={
姓名:“伊桑”,
宠物:{猫:“裘琳”,狗:“莫莫”,鸟:“咪咪”}
}
const res={…data,…data.pets};
删除res.pets;

控制台日志(res)遍历对象中的元素和值。并将值分散到返回对象中

const数据={
姓名:“伊桑”,
宠物:{
猫:“乔琳”,
狗:“莫莫”,
小鸟:“咪咪”
}
};
函数展平(数据){
让结果={};
for(常量输入数据){
常量值=数据[键];
如果(值的类型!=“对象”)结果[键]=值;
else结果={…结果,…展平(值)}
}
返回结果;
}

console.log(展平(数据))获得所需结果的最简单、最干净的方法

const obj={
姓名:“伊桑”,
宠物:{猫:“裘琳”,狗:“莫莫”,鸟:“咪咪”},
};
const{name,pets}=obj;
const result={name,…pets};

控制台日志(结果)正如其他人所说,这对于对象分解来说是非常简单的。我认为使用参数分解是最干净的。这样一个简单的函数就可以做到:

constpromotepets=({pets,…rest})=>
({…休息,…宠物})
const obj={名字:“伊桑”,宠物:{猫:“朱琳”,狗:“莫莫”,鸟:“咪咪”};

console.log(promotePets(obj))是无效的javascript
[
用于数组,数组不能有
键:值
对是的,很抱歉,我已更正了错误。这是否回答了您的问题?您提供的答案非常清晰。我将很快对其进行测试并验证。请接受我对您的福祉的最良好祝愿。它有问题,它会覆盖或使数据消失“name”。@Ethanolle谢谢。如果你不懂任何东西,请随时提问。第一个代码段有一些错误,我现在修复了它…tree?这是什么意思?是函数调用,我忘了更改它