js 面试 算法题

今天面试,考官给了一道算法题,有数组1和数组2,这两个数组都是已经按照从大到小排好序的,然后求两个数组集合的中间数。给出的思路是:要从已排好顺序的数组1和数组2入手,只需要比较数组1和数组2的第一个元素,然后一直循环下去就可以了。然后我的思路就如下代码,但是最后的temp一直是undefined,打了断点也没看懂,有小伙伴能给解释下吗,谢谢啦

        function test(arr1,arr2){

            var arr=[];

            while(arr1.length>0&&arr2.length>0){

                if(arr1[0]>=arr2[0]){

                    arr.push(arr1[0]);

                    arr1.pop(arr1[0]);

                }else if(arr1[0]<arr2[0]){

                    arr.push(arr2[0]);

                    arr2.pop(arr2[0]);

                }

            }

            var temp;

            if(arr1.length=0){

                temp=arr.concat(arr2);

            }

            if(arr2.length=0){

                temp=arr.concat(arr1);

            }


            return document.write(temp);

        }


30秒到达战场
浏览 393回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript