W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
代碼如下所示:
<!DOCTYPE HTML>
<html>
<head>
<title>test1</title>
</head>
<body>
<script>
var arr={
"name":"zhansan",
"age":23,
"address":{
"city":"beijing",
"gas":{
"gasSheet":"氣態(tài)流出物月報(bào)",
"H_adjust":1
},
"time":{
"duration":31
}
},
"units":{"title":"function"}
}
function show(obj){
var tmp={};
for(var i in obj){
if(obj[i]=="object"){
<span style="color:#ff0000;">tmp[i]=show(obj[i]);</span>
}
else{
<span style="color:#ff0000;">tmp[i]=obj[i]</span>
}
}
return tmp;
}
var result=show(arr);
console.log(result);
</script>
</body>
</html>
</pre><p></p><p>利用遞歸思想,其中注意賦值語句</p><p>可用于不同的環(huán)境</p><p></p><pre>
假設(shè)其中jSON對(duì)象是var kpis = {"A": [1,2,3,4,5],"B": [ 2,3,4,5,6]}, jSON 數(shù)組是var series = [{name:null,data:null}, {name:null,data:null}]
>>>第一種方法:
[javascript] view plain copy
var index=0;
for( var tests in kpis){
series[index].name=tests;
series[index].data=kpis[tests];
}
點(diǎn)評(píng):第一種方法對(duì)于超過兩個(gè)名稱/值對(duì)的情況不適用,只能手動(dòng)增加jSON數(shù)組的長度,比較麻煩。經(jīng)過boss的指導(dǎo),有了第二種方法。
>>>第二種方法:
[html] view plain copy
series=[];
for(var tests in kpis){
//定義一個(gè)新的jSON對(duì)象,改變成jSON數(shù)組中jSON數(shù)據(jù)的格式
var json = {name:tests, data:kpis[tests]};
//通過數(shù)組的push()方法向數(shù)組中增加jSON數(shù)據(jù)
series.push(json);
}
點(diǎn)評(píng):第二種方法,在遍歷kpis這個(gè)jSON對(duì)象的時(shí)候,生成新的格式的jSON對(duì)象,不斷push到數(shù)組中,這樣就達(dá)到了目的,而且即使是有名稱/值對(duì)也不怕,通用性增強(qiáng)。
所以推薦第二種方法。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: