web前端面试题(数组一大一小排列)

来源:互联网 发布:剑网三咩萝捏脸数据 编辑:程序博客网 时间:2024/04/30 06:07

//思路:先用给定好的降序数组,先了解清楚排序输出结果的规律:一大一小;
//然后设置空数组保存结果,通过循环双向遍历数组中的值,分别将j和i
//放进数组中,因为是一大一小排列所以要先放j再放i,
//最后当i=j时就把当前循环的值arr[i或者j]直接放进数组机即可;


//给定降序排列好的数组:排序成一大一小的样子

var arr=[7,6,5,4,3,2,1];
       //i           j.
      //[1,7,2,6,3,5,4] 输出样式
//定空数组保存排列后的数组
var r=[];
//循环遍历i和j,通过两头向中间遍历的方式
for(var i=0,j=arr.length-1;i<j;i++,j--){
    //再将循环出的i和j分别push进数组,记住是一大一小排列,所以先push进j的数,后方i的值
    r.push(arr[j]);
    r.push(arr[i]);
}
//如果i=j,则把当前的值放进数组中
if(i==j) r.push(arr[i]);
console.log(r);