后臺返回數(shù)據(jù)處理的一些方式

有的時候后臺返回的數(shù)據(jù),前端要進(jìn)行頁面渲染,但是數(shù)據(jù)結(jié)構(gòu)并不是那么感人,于是就倒弄了一點處理方式,分享一下。

第一種,返回來的數(shù)據(jù)是對象,可以通過ES6的entries方法來處理,具體代碼如下

var obj = {

? ? ? ? ? ? "liuban":{

? ? ? ? ? ? ? ? name:"Jodan",

? ? ? ? ? ? ? ? age:19,

? ? ? ? ? ? ? ? height:190,

? ? ? ? ? ? ? ? weight:78

? ? ? ? ? ? },

? ? ? ? ? ? "qiban":{

? ? ? ? ? ? ? ? name:"Air",

? ? ? ? ? ? ? ? age:21,

? ? ? ? ? ? ? ?height:187,

? ? ? ? ? ? ? ? weight:75

? ? ? ? ? ? }

? ? ? ? };

? ? ? ? var list = [];

// 使用ES6中Object.entries(obj)方法

? ? ? ? for(let [key,value] of Object.entries(obj)){

? ? ? ? ? ? list.push({

? ? ? ? ? ? ? ? id: key,

? ? ? ? ? ? ? ? name: value.name,

? ? ? ? ? ? ? ? age: value.age,

? ? ? ? ? ? ? ? children:[

? ? ? ? ? ? ? ? ? ? {'身高':value.height, '體重':value.weight}

? ? ? ? ? ? ? ? ]

? ? ? ? ? ? })

? ? ? ? };

? ? ? ? console.log(list);

可以輸出這樣的數(shù)據(jù)

[

{

id:?"liuban"

name:?"Jodan"

age:?19

children: [ {身高:?190,?體重:?78}]

},{.........}

]

第二種,通過map函數(shù)遍歷數(shù)組,不過需要后臺返回來的對象數(shù)據(jù)先變成數(shù)組后再操作,具體可以這樣

var obj = {........};

var list = [];

? ? ? ? for(var key in obj){

? ? ? ? ? ? list.push(obj[key]);

? ? ? ? }

? ? ? ? var result = list.map((item) => {

? ? ? ? ? ? const object = {

? ? ? ? ? ? ? ? name:item.name,

? ? ? ? ? ? ? ? age:item.age

? ? ? ? ? ? }

? ? ? ? ? ? object.children = [

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? '身高':item.height,

? ? ? ? ? ? ? ? ? ? '體重':item.weight

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ]

? ? ? ? ? ? return object;

? ? ? ? });

? ? ? ? console.log(result);

不過這樣的話,之前后臺返回來的數(shù)據(jù)對象key值在對象轉(zhuǎn)換成數(shù)組的時候沒有遍歷出來,獲得的數(shù)組對象中沒有key值,也就是存儲的那個id值,liuban和qiban

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容