标签:ons 排序 es6 lower 实现 app 运算 字符 es5
我们给数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值。排序我们会用到数组的 sort 方法。
var arr = [12,56,25,5,82,51,22]; arr.sort(function (a, b) { return a-b; }); // [5,12,22,25,51,56] var min = arr[0]; // 5 var max = arr[arr.length - 1]; // 56
假设当前数组中的第一个值是最大值,然后拿这个最大值和后面的项逐一比较,如果后面的某一个值比假设的值还大,说明假设错了,我们把假设的值进行替换。最后得到的结果就是我们想要的。
// 获取最大值: var arr = [22,13,6,55,30]; var max = arr[0]; for(var i = 1; i < arr.length; i++) { var cur = arr[i]; cur > max ? max = cur : null } console.log(max); // 55 // 获取最小值: var arr = [22,13,6,55,30]; var min = arr[0]; for(var i = 1; i < arr.length; i++) { var cur = arr[i]; cur < min ? min = cur : null } console.log(min) // 6
可以使用apply来实现。apply传入的是一个数组。
var arr = [22,13,6,55,30]; var max = Math.max.apply(null, arr); var min = Math.min.apply(null, arr); console.log(max, min) // 55,6
//ES5 取数组最大值 console.log(Math.max.apply(this, [654, 233, 727])); //ES6 扩展运算符 console.log(Math.max(...[654, 233, 727])) //相当于 console.log(Math.max(654, 233, 727))
// 比较年份
var cars = [ {type:"Volvo", year:2016}, {type:"Saab", year:2001}, {type:"BMW", year:2010}];
cars.sort(function(a, b){return a.year - b.year});
//比较字符串
cars.sort(function(a, b){
var x = a.type.toLowerCase(); var y = b.type.toLowerCase(); if (x < y) {return -1;} if (x > y) {return 1;} return 0; });
var points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return 0.5 - Math.random()});
标签:ons 排序 es6 lower 实现 app 运算 字符 es5
原文地址:https://www.cnblogs.com/ddqyc/p/11777226.html