javascript - 聲明數(shù)組添加值會生成類型為undefine的值
問題描述
JS:用對象可以取得成功的值,用數(shù)組,就會出現(xiàn)有類型為undefined的值
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('取到數(shù)據(jù)頭部:'+n[0]); }})
以上可以獲取到正確的結(jié)果。
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('取到數(shù)據(jù)頭部:'+n[0]); }}) console.log(bodyDatas['mx']);
上面這段代碼是用的數(shù)組,會有默認類型為undefine的值雖然我用對象換數(shù)組的方式解決了這個問題,但是心里始終存在疑問:為什么使用數(shù)組時,會添加了類型為undefine的值,這個值又不存在。我這個循環(huán)確實只執(zhí)行了一次,那么可能是我的數(shù)組聲明方式有問題,里面有個默認的值?應(yīng)該如何聲明?
問題解答
回答1:可以參考這個問題/q/10...
相關(guān)文章:
1. javascript - 移動端,當出現(xiàn)遮罩層的時候,遮罩層里有div是超出高度scroll的,怎么避免滑動div的時候,body跟隨滑動?2. javascript - history.replaceState()無法改變query參數(shù)3. html - 移動端radio無法選中4. javascript - 關(guān)于禁用文本選擇與復(fù)制的問題5. javascript - 有什么工具可以自動給css3的樣式 加 前綴 要最簡單的 不會sass less6. css - 關(guān)于偽類背景問題7. css - 怎么實現(xiàn)一個圓點在一個范圍內(nèi)亂飛8. 前端 - html5 audio不能播放9. html5 - vue 里的Elemen UI的時間怎么轉(zhuǎn)化為時間戳嗎10. html5 - 如何實現(xiàn)圖中的刻度漸變效果?
