陣列長度不一樣 在對應的下邊新增空字串(用for迴圈 不要用for in語法) 針對echarts的折線圖
阿新 • • 發佈:2020-11-20
1.有兩個長度不一樣的陣列
var arr = [ [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18], [2,4,7] ];
2.通過getMaxIndex函式獲取到arr數組裡面某個陣列的最大長度
function getMaxIndex(arr) { var max = arr[0].length; //聲明瞭個變數 儲存下標值 var index = 0; for (var i = 0; i < arr.length; i++) { if (max < arr[i].length) { max= arr[i].length; index = i; } } return index; }
3.通過getitemindex函式把arr裡面的陣列補齊
functiongetitemindex(arr,maxindex){ varindexarr=[];for(variinarr){ varnewarr=[]; for(varj=0;j<arr[i].length;j++){ if(arr[i][j]!=arr[maxindex][j]){ arr[i].splice(j,0,'') newarr.push(j); } } if(arr[i].length<arr[maxindex].length){ for(vark=arr[i].length;k<arr[maxindex].length;k++){ arr[i].splice(k,0,'') newarr.push(k); } } indexarr.push(newarr); } returnindexarr; }
vargetitemindex=getitemindex(arr,maxindex); console.log(getitemindex);
得到如下:
4.目標陣列yarr
var yarr = [ [11,22,33,44,55,66,77,88,99,100,111,122,133,144,155,166,177,188], [22,44,77] ]
5.在yarr的相應的下標(getitemindex)中新增空字串
for(var m in yarr){ for(var n=0;n < getitemindex[m].length; n++){ yarr[m].splice(getitemindex[m][n], 0, ' '); } } console.log(yarr);
得到如下:
注意:在迴圈遍歷一個二維陣列的時候不要用for in語法,要用for迴圈。不然會出現問題。(找這個bug找了幾個小時,已經哭暈在廁所 T-T)