归并排序问题,lenth为什么undefined

这是我照着书上敲的归并排序,可是控制台输出merg函数while判断中的length为undefined

  function splitMergeSort(arr){

    var len = arr.length;

    while(len == 1){

      return arr;

    }

    var mid = Math.floor(len/2);

    var left  = arr.slice(0, mid),

        right = arr.slice(mid, len);

    return splitMergeSort(merge(left),merge(right))


  }

    //合并函数

  function merge(arr1,arr2){

    var result = [];

    var   l = 0;

     var   r = 0;

    while(l<arr1.length && r<arr2.length){

      if(arr1[l]<arr2[r]){

        result.push(arr1[l++])

      }else{

        result.push(arr2[r++])

      }

    }

    while(l<arr1.length){

      result.push(arr1[l++])

    }

    while(r<arr2.length){

      result.push(arr2[r++])

    }

  }


达令说
浏览 460回答 1
1回答

FFIVE

javascript是区分大小的 你这里面的语法关键字都写错了&nbsp;是length不是Length 是while不是whiLe是floor不是fLoor 是slice不是sLice你确定你是照着书上敲的?这不是误人子弟吗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript