后台返回来的数据格式如下。请问怎么把数据一处理成数据二的样式
数据 一 :
obj{
“name”:“lisi”,
“age”:“18”,
“addr”:“wuhan”,
“class”:{
“aa”:“11”,
“bb”:“22”,
}
}
数据二:
obj{
“name”:“lisi”,
“age”:“18”,
“addr”:“wuhan”,
“aa”:“11”,
“bb”:“22”,
}
求问应该怎么处理呢
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>document</title>
</head>
<body>
<script>
const obj = {
name: "lisi",
age: "18",
addr: "wuhan",
class: {
aa: "11",
bb: "22",
},
};
const result = { ...obj, ...obj.class };
delete result.class;
console.log("result", result);
</script>
</body>
</html>
一
obj{
“name”:“lisi”,
“age”:“18”,
“addr”:“wuhan”,
“class”:{
“aa”:“11”,
“bb”:“22”,
}
}
二
obj{
“name”:“lisi”,
“age”:“18”,
“addr”:“wuhan”,
“aa”:“11”,
“bb”:“22”,
}
```
这样试试看。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const obj1 = {
"name": "lisi",
"age": "18",
"addr": "wuhan",
"class": {
"aa": "11",
"bb": "22",
}
}
const obj2 = {
"name": "lisi",
"age": "18",
"addr": "wuhan",
"aa": "11",
"bb": "22",
}
function format(obj, res = {}) {
Object.keys(obj).forEach((key, index) => {
if (typeof obj[key] == "object") format(obj[key], res);
else res[key] = obj[key]
})
return res;
}
console.log(format(obj1));
console.log(obj2);
console.log(JSON.stringify(format(obj1)) === JSON.stringify(obj2));
</script>
</body>
</html>
遍历对象属性,如果是class,就解构,否则就直接放到新对象