困难点:不知道sort排序规则和内部工作原理
内部原理:冒泡排序。
*************************
冒泡排序算法的原理如下:
-
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
-
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
-
针对所有的元素重复以上的步骤,除了最后一个。
-
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
// 一.sort排序规则,return大于0则交换数组相邻2个元素的位置
/* 二.arr.sort(function (a,b) {})中
a -->代表每一次执行匿名函时候,找到的数组中的当前项;
b -->代表当前项的后一项;
*/
// 1.升序
var apple = [45,42,10,147,7,65,-74];
// ①默认法,缺点:只根据首位排序
console.log(apple.sort());
// ②指定排序规则法,return可返回任何值
console.log(apple.sort(function (a,b) {
return a-b; //若return返回值大于0(即a>b),则a,b交换位置
}));
//2.降序
var arr = [45,42,10,111,7,65,-74];
console.log(apple.sort(function (a,b) {
return b-a; //若return返回值大于零(即b>a),则a,b交换位置
}))