原生 javascript 数组排序

function order(arr){
var len=arr.length;
var max=0; // 定义一个变量max,用于保存数组中的最大值。
var num=0; // 定义一个变量num,用于保存数组中最大值的位置。
var mid=0; // 定义一个变量mid,用于交换最大值和最后一个值。
for(var i=len-1;i>0;i--){
max=arr[0];
for(var j=0;j<=i;j++){
if(max<=arr[j]){
max=arr[j]; // 获取数组中最大值
num=j;
}
}
mid=arr[i]; // 将数组最后一个元素的值赋给中间变量;
arr[num]=mid; // 将中间变量赋给最大值的元素;
arr[i]=max; // 将最大值赋给数组最后一个元素;
}
return arr;
}

操作方法

  • 01

    获取数组中最大的元素: var arr=[1,2,4,6,3,7,5]; var max=0; for(var i=0;i<arr.length;i++){ if(max<=arr[i]){ max=arr[i]; } }

  • 02

    把最大值放到数组最后: 定义一个中间变量来交换最大值和最后一个元素的值; 定义一个变量来保存最大值所在的位置; var arr=[1,2,4,6,3,7,5]; var len=arr.length; var max=0; var num=0; var mid=0; for(var i=0;i<len;i++){ if(max<=arr[i]){ max=arr[i]; num=i; } } mid=arr[len-1]; // 将数组最后一个元素的值赋给中间变量; arr[num]=mid; //将中间变量赋给最大值的元素; arr[len-1]=max; // 将最大值赋给数组最后一个元素; // [1,2,4,6,3,5,7];

  • 03

    使用第二重循环来执行第2步: var arr=[1,2,4,6,3,7,5]; var len=arr.length; var max=0; var num=0; var mid=0; for(var i=len-1;i>0;i--){ max=arr[0]; for(var j=0;j<=i;j++){ if(max<=arr[j]){ max=arr[j]; // 获取数组中最大值 num=j; } } mid=arr[li]; arr[num]=mid; arr[i]=max;

  • 04

    把第3步封装在函数中: function order(arr){ var len=arr.length; var max=0; // 定义一个变量max,用于保存数组中的最大值。 var num=0; // 定义一个变量num,用于保存数组中最大值的位置。 var mid=0; // 定义一个变量mid,用于交换最大值和最后一个值。 for(var i=len-1;i>0;i--){ max=arr[0]; for(var j=0;j<=i;j++){ if(max<=arr[j]){ max=arr[j]; // 获取数组中最大值 num=j; } } mid=arr[i]; // 将数组最后一个元素的值赋给中间变量; arr[num]=mid; // 将中间变量赋给最大值的元素; arr[i]=max; // 将最大值赋给数组最后一个元素; } return arr; }

(0)

相关推荐

  • 使用javascript复制生成链接地址

    使用原生的javascript可以干很多我们意想不到的事情,相比jquery的简洁快速,然而还有很多人一直坚持使用原生javascript来写特效,这种人一般都是很神级的,的确... 操作方法 01 ...

  • 10年后编程还有意义吗?

    这个是 Quora 上提出的一个问题.随着 AI 在近年来成为热门话题,并且在 AlphaGo 自学围棋击败了人类近 10 年最好的围棋选手之后,有人开始提出这个问题.具体来说这个问题有三层意思:   ...

  • WEB前端开发入门攻略

    对网站上多彩的网页感兴趣吗?想找一份前端开发的工作吗? 本门介绍如何进入WEB前端的开发世界! 学习的主要流程:HTML-->JavaScript-->CSS 操作方法 01 首先要从基本 ...

  • 如何使用JS实现短信验证码倒计时

    在网页的登录注册页面,往往会有验证码功能,为了防止验证码频繁使用,我们往往会设计一个倒计时功能,只有过了这个倒计时,才能继续发生验证码,本文介绍了如何使用原生JavaScript实现倒计时功能. 操作 ...

  • 35款值得网站开发者收藏的JAVASCRIPT图形图表库

    图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等。可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和Web应用和项目的可靠性。 在这篇文章中,我们收集了35款 ...

  • JavaScript超级BUG:可瞬间破解X86/ARM处理器

    来自阿姆斯特丹自由大学系统及网络安全小组VUSec的研究人员本月15日揭露了一项攻击技术,可绕过22款处理器的“位址空间配置随机载入”(ASLR)保护,波及Intel.AMD.Nvidia及Samsu ...

  • javascript常用函数(javascript内置函数)

    如果文章和笔记能带您一丝帮助或者启发,请不要吝啬你的赞和收藏,你的肯定是我前进的最大动力为元素添加on方法Element.prototype.on = Element.prototype.addEve ...

  • Javascript里如何对数组进行排序?

    在网页开发里,我们经常会用到Javascript脚本.在写JS代码过程中,我们经常会与数组打交道,对数组进行添加,删除等操作,有时还会对数组进行排序.下面我们一起了解下怎么对数组进行排序. 操作方法 ...

  • 评测小米手机原生系统4.0怎么样

    如今米系统4.0已经公布很久了,对于所有的疑云也慢慢的解开,但这个新的系统到底好不好用了?也一直是手机友友关心的问题。MIUI V4是要基于Android 2.3.5K系统下面升级才行的,因为Andr ...