WEB前端程序开发web前端经典面试题

求js数组的最大值和最小值的四种方法

2019-06-21  本文已影响4人  全栈弄潮儿

const ary= [54,65,43,21,12,34,45,58,97,24];

1、排序法

先把数组从小到大排序,数组第一个即为最小值,最后一个即为最大值

ary.sort(function(a,b){return a-b;});
const minN = ary[0];
const maxN = ary[ary.length-1];

2、Math的max和min方法

使用apply方法使数组可以作为传递的参数

const maxN = Math.max.apply(null,ary);
const minN = Math.min.apply(null,ary);

3、假设法

假设数组第一个为最大(或最小值),和后边进行比较,若后边的值比最大值大(或比最小值小),则替换最大值(或最小值)

const maxN = ary[0];
const minN = ary[0];
for(var i=1;i<ary.length;i++){
  let cur = ary[i];
  cur>maxN ? maxN=cur : null;
  cur<minN ? minN=cur : null;
}

4、字符串拼接法

利用toString和join把数组转换为字符串,再和Math的max和min方法分别进行拼接,最后执行eval方法

const maxN = eval("Math.max(" + ary.toString() + ")");
const minN = eval("Math.min(" + ary.toString() + ")");

或者

const maxN = eval("Math.max(" + ary.join() + ")");
const minN = eval("Math.min(" + ary.join() + ")");


更多angular1/2/4/5、ionic1/2/3、react、vue、微信小程序、nodejs等技术文章、视频教程和开源项目,请关注微信公众号——全栈弄潮儿

image

脑筋急转弯:

image

生活小窍门

image
上一篇下一篇

猜你喜欢

热点阅读