2.如何实现数组升序排列?例如:var arr = [8, 19, 3, 12, 5, 4] ?
var arr = [8, 19, 3, 12, 5, 4];
function compare(v1,v2){
return v1-v2;
}
console.log(arr.sort(compare));
3.怎么用函数实现输出数组最大差值?
例如:找出下列正数组的最大差值 [10,5,11,7,8,9] 输出6。
var arr=[10,5,11,7,8,9];
function compare(v1,v2){
return v1-v2;
}
console.log(arr.sort(compare));
console.log(arr[arr.length-1]-arr[0]);
//方法二
var arr=[10,5,11,7,8,9];
2 function str(){
3 max=arr[0]; min=arr[0];
4 for(var i=0;i<6;i++){
5 if(arr[i]>=max)
6 { max=arr[i];
7 }
8 if(arr[i]<=min)
9 { min=arr[i];
10 }
11 }
12 return max-min;
13
14 }
15 console.log(str());
方法三
Array.prototype.outputMaxPrice = function outputMaxPrice (array) {
/* 求一组数中最大值和最小值直接使用内置对象函数Math中的min()和max()方法即可。
注意,apply方法的第二个参数必须是一个数组,第二个参数用来替换原函数的参数
apply用于更改this指向,但这道题我们是不需要的,我们只需要将math.max及math.min应用到数组上即可 */
const item1 = Math.max.apply( null, array );
const item2 = Math.min.apply( null, array );
// const item1 = Math.max(10,5,11,7,8,9);
// const item2 = Math.min(10,5,11,7,8,9);
return item1 - item2;
}
const array = new Array;//创建实例
var arr = [10,5,11,7,8,9】;
var result = array.outputMaxPrice (arr) // 6
console.log(result);