JS: Gunakan objek untuk mendapatkan nilai yang berjaya, gunakan tatasusunan, dan akan ada nilai jenis yang tidak ditentukan
var bodydata = $("body").data();
// console.log(bodydata);
bodyDatas = {};/*使用了个全局变量bodyDatas*/
_.forIn(bodydata,function(value,key){
if(typeof value == "string"){
value = parseLodash(n);
}
if(value[0] == "200"){
var keyarray = key.split('_');
var key0 = keyarray[0];
var key1 = keyarray[1];
var key2 = keyarray[2];
_.forIn(_.keys(value[2]), function(v,k) {
if (!bodyDatas[key0]) {
bodyDatas[key0] = {};
}
if (!bodyDatas[key0][key1]) {
bodyDatas[key0][key1] = {};
}
if (!bodyDatas[key0][key1][key2]) {
bodyDatas[key0][key1][key2] = {};
}
if (!bodyDatas[key0][key1][key2][v]) {
bodyDatas[key0][key1][key2][v] = value[2][v];
}
});
}else{
console.log("取到数据头部:"+n[0]);
}
})
Di atas boleh mendapat hasil yang betul.
var bodydata = $("body").data();
bodyDatas = new Array();/*使用了个全局变量bodyDatas*/
_.forIn(bodydata,function(value,key){
if(typeof value == "string"){
value = parseLodash(n);
}
if(value[0] == "200"){
var keyarray = key.split('_');
var key0 = keyarray[0];
var key1 = keyarray[1];
var key2 = keyarray[2];
_.forIn(_.keys(value[2]), function(v,k) {
if (!bodyDatas[key0]) {
bodyDatas[key0] = [];
}
if (!bodyDatas[key0][key1]) {
bodyDatas[key0][key1] = [];
}
});
}else{
console.log("取到数据头部:"+n[0]);
}
})
console.log(bodyDatas["mx"]);
Kod di atas menggunakan tatasusunan, dan akan ada nilai dengan jenis lalai tidak ditentukan
Walaupun saya menyelesaikan masalah ini dengan menggantikan objek dengan tatasusunan, saya masih mempunyai soalan dalam fikiran saya: mengapa jenis itu ditambah apabila menggunakan tatasusunan? Ia adalah nilai yang tidak ditentukan, dan nilai ini tidak wujud. Gelung saya sememangnya hanya dilaksanakan sekali, jadi mungkin terdapat sesuatu yang salah dengan cara saya mengisytiharkan tatasusunan Adakah terdapat nilai lalai di dalamnya? Bagaimana ia harus diisytiharkan?
Boleh rujuk soalan ini
/q/10...