码迷,mamicode.com
首页 > 编程语言 > 详细

js面试题之求数组最值

时间:2017-10-01 13:04:37      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:eval   最小   size   nbsp   bsp   四种   max   func   for   

今天继续分享js常见的面试题,求数组最大值,最小值,这里列举4种常见解法,还有其他方法也可以实现,读者知道可以私信我,我将把意见列举到博客中,欢迎提出意见。

第一种,利用数组排序

1 var arr=[3,4,5,1,2,9,8,7];
2 var newArr=arr.sort(function(a,b){
3     return a-b;
4 })
5 var min=newArr[0];
6 var max=newArr[arr.length-1];
7 
8 console.log(min);
9 console.log(max);

第二种,用eval方法(不建议使用,可能造成恶意代码执行)

1 var arr=[3,4,5,1,2,9,8,7];
2 var min=eval("Math.min("+arr.toString()+")");
3 var max=eval("Math.max("+arr.toString()+")");
4 
5 console.log(min);
6 console.log(max);

第三种,假设法(学过c语言的都知道)

1 var min=arr[0],max=arr[0];
2 
3 for (var i = 0; i < arr.length; i++) {
4     arr[i]>max?max=arr[i]:null;
5     arr[i]<min?min=arr[i]:null;
6 }
7 
8 console.log(min);
9 console.log(max);

 

第四种,巧用apply(老司机解法)

1 var arr=[3,4,5,1,2,9,8,7];
2 
3 var min=Math.min.apply(null,arr);
4 var max=Math.max.apply(null,arr);
5 
6 console.log(min);
7 console.log(max);

js面试题之求数组最值

标签:eval   最小   size   nbsp   bsp   四种   max   func   for   

原文地址:http://www.cnblogs.com/zt123123/p/7617019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!