javascript - 聲明數(shù)組添加值會(huì)生成類型為undefine的值
問(wèn)題描述
JS:用對(duì)象可以取得成功的值,用數(shù)組,就會(huì)出現(xiàn)有類型為undefined的值
var bodydata = $('body').data(); // console.log(bodydata);bodyDatas = {};/*使用了個(gè)全局變量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('取到數(shù)據(jù)頭部:'+n[0]); }})
以上可以獲取到正確的結(jié)果。
var bodydata = $('body').data(); bodyDatas = new Array();/*使用了個(gè)全局變量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('取到數(shù)據(jù)頭部:'+n[0]); }}) console.log(bodyDatas['mx']);
上面這段代碼是用的數(shù)組,會(huì)有默認(rèn)類型為undefine的值
雖然我用對(duì)象換數(shù)組的方式解決了這個(gè)問(wèn)題,但是心里始終存在疑問(wèn):為什么使用數(shù)組時(shí),會(huì)添加了類型為undefine的值,這個(gè)值又不存在。我這個(gè)循環(huán)確實(shí)只執(zhí)行了一次,那么可能是我的數(shù)組聲明方式有問(wèn)題,里面有個(gè)默認(rèn)的值?應(yīng)該如何聲明?
問(wèn)題解答
回答1:可以參考這個(gè)問(wèn)題/q/10...
相關(guān)文章:
1. 網(wǎng)頁(yè)爬蟲(chóng) - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?2. php對(duì)mysql提取數(shù)據(jù)那種速度更快3. mysql - 在log日志中已知用戶的某一步操作,如何獲取其上一步操作?4. DADB.class.php文件的代碼怎么寫(xiě)5. javascript - immutable配合react提升性能?6. macos - 如何徹底刪除mac自帶的apache和php7. shell - mysql更新錯(cuò)誤8. python小白 自學(xué)看書(shū)遇到看不懂的地方9. 如何設(shè)置一個(gè)無(wú)限循環(huán)并打破它。(Java線程)10. javascript - sublime快鍵鍵問(wèn)題

網(wǎng)公網(wǎng)安備