pwindy  
在完成任务的同时,还需要不断“复盘”,不论你多么的忙,都需要留下时间思考,可以思考哪些地方做的好,哪些地方我们可以改进,应该如何改进,注重总结才是王道

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里面的数组补齐


function getitemindex(arr,maxindex) {
    var indexarr = [];

    for(var i in arr){
      var newarr= [];
      for(var j=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(var k=arr[i].length;k<arr[maxindex].length; k++ ){
          arr[i].splice(k,0,' ')
          newarr.push(k);
        }
      }
      indexarr.push(newarr);
    }
    return indexarr;
}

var getitemindex = 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)

posted on 2020-11-20 14:36  pwindy  阅读(261)  评论(0编辑  收藏  举报