JS作为前端语言,越来越多的开始处理后端逻辑,今天的例子列举使用JS获取数组中的最大值,详细如下:
1 var data = [1,3,6,5,88,4,2,3]; //需要取值的数组 2 3 /* 4 *第一种方法 5 *1.对数组按照从大到小的顺序进行重排; 6 *2.取变幻完成后新数组的首个元素,即为原数组中的最大值。 7 */ 8 9 function maxInArray(arr){ 10 arr.sort(function (a,b){ 11 return b-a; 12 }); //将数组重排 13 var result = arr[0]; //将新数组的首个元素赋值给result变量 14 return result; //result变量所存储的值即为原数组中的最大值 15 } 16 17 console.log(maxInArray(data)) //88 18 /* 19 *第二种方法 20 *1.新建一个变量用来作为数据的缓存; 21 *2.用for循环遍历数组中的所有元素,与缓存中的数值进行比较,如果遍历到的数值大于当前缓存值,则将当前遍历值赋给缓存值; 22 *3.依次循环,直至取得最大值。 23 */ 24 25 function findMax(arr){ 26 var result = arr[0]; 27 for(i=1;i<arr.length;i++){ 28 if(arr[i]>result){ 29 result = arr[i] 30 } 31 } 32 return result; 33 } 34 35 console.log(findMax(arr)) //88
第一种方法省去了for循环,使用了Array对象的自带方法sort(),代码优雅简洁,但是这种方式个很大的缺点,就是重排后的数组会直接替代原数组,而不是以生成副本的方式,以下内容为引用:
第二种方法不会改变原数组的结构,但是在数组元素很多的情况下,会导致性能降低。
JavaScript常用的数组操作及实现——取数组中的最大值
原文:http://www.cnblogs.com/hdcui/p/5288948.html