js面试题之求数组最值
今天继续分享js常见的面试题,求数组最大值,最小值,这里列举4种常见解法,还有其他方法也可以实现,读者知道可以私信我,我将把意见列举到博客中,欢迎提出意见。
第一种,利用数组排序
var arr=[3,4,5,1,2,9,8,7];
arr.sort(function(a,b){
return a-b;
})
var min=arr[0];
var max=arr[arr.length-1]; console.log(min);
console.log(max);
第二种,用eval方法(不建议使用,可能造成恶意代码执行)
var arr=[3,4,5,1,2,9,8,7];
var min=eval("Math.min("+arr.toString()+")");
var max=eval("Math.max("+arr.toString()+")"); console.log(min);
console.log(max);
第三种,假设法(学过c语言的都知道)
var min=arr[0],max=arr[0];
for (var i = 0; i < arr.length; i++) {
arr[i]>max?max=arr[i]:null;
arr[i]<min?min=arr[i]:null;
}
console.log(min);
console.log(max);
第四种,巧用apply(老司机解法)
var arr=[3,4,5,1,2,9,8,7]; var min=Math.min.apply(null,arr);
var max=Math.max.apply(null,arr); console.log(min);
console.log(max);
js面试题之求数组最值的更多相关文章
- 使用基础知识完成java小作业?强化练习-1.输入数组计算最大值-2.输出数组反向打印-3.求数组平均值与总和-4.键盘输两int,并求总和-5.键盘输三个int,并求最值;
完成几个小代码练习?让自己更加强大?学习新知识回顾一下基础? 1.输入数组计算最大值 2.输出数组反向打印 3.求数组平均值与总和 4.键盘输两int,并求总和 5.键盘输三个int,并求最值 /* ...
- js经典试题之数组与函数
js经典试题之数组与函数 1:列举js的全局函数? 答案:JavaScript 中包含以下 7 个全局函数escape( ).eval( ).isFinite( ).isNaN( ).parseFlo ...
- js巧用apply方法实现数组最值以及合并
尽管js的apply方法在平常的使用中并不多见,但是在某些地方使用的还是很有帮助性的,这里就和大家说两个比较实用的例子:1.数组最大最小值 求数组中的最大最小值,js有相应的方法:Math.min() ...
- JS中直接从java后台获得对象的值(数组的值)
这里举得例子是:JS直接从后台Contorller中(SpringMVC中的model中)获得数值的值 Contorller 此处将 talentIntegralRecordsDay talentIn ...
- js求数组的最大值--奇技淫巧和笨方法
写这篇文章的原因 我目前做的项目很少用到算法,于是这方面的东西自然就有点儿生疏.最近的一次编码中遇到了从数组中获取最大值的需求,当时我不自觉的想到了js的sort()函数,现在想来真是有些“罪过”,当 ...
- [jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)
--------------------------------------------------------------------------------------------------- ...
- [jQ/PHP]使用JS数组储值的两种情况(提交PHP处理)
---------------------------------------------------------------------------------------------------- ...
- 应该用forEach改变数组的值吗? 原生JS forEach()和map()遍历的异同点
应该用forEach改变数组的值吗? https://segmentfault.com/q/1010000013170900?utm_source=index-hottest 由于js中的数组是引用类 ...
- vue.js面试题整理
Vue.js面试题整理 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务 ...
随机推荐
- 面向对象高级编程(1)-使用__slots__
使用__slots__ 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: >>> ...
- Android Studio aidl文件路径自定义问题
1.aidl旧文件夹中添加的内容无法编译 sourceSets中主要是把把src/main/aidl文件也作为java.srcDirs, resources.srcDirs,这样当编译程序时,AIDL ...
- cloudera manager安装hive注意事项,提示连不上数据库,没有user目录权限
1.提示连不上数据库,password:null 解决方法:拷贝数据库驱动到hive的lib目录,数据库要使用安装hive机器的本地数据库,远程的可能连不上 2.没有/user目录权限 解决方法:因为 ...
- go语言切片作为函数参数的研究
slice作为函数参数是值传递 golang中的切片slice底层通过数组实现,slice类似一个结构体,其中一个字段保存的是底层数组的地址,还有长度(len) 和 容量(cap)两个字段. 结构体作 ...
- CDOJ--1141
原题链接:http://acm.uestc.edu.cn/problem.php?pid=1141 分析:运用欧拉函数可解此题. #include <iostream> #include ...
- 理解jquery的$.extend()、$.fn和$.fn.extend()的区别及用法
viajQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); jQuery.fn jQuery.fn = jQuery.prototy ...
- ElasticStack系列之七 & IK自动热更新原理与实现
一.热更新原理 elasticsearch开启加载外部词典功功能后,会每60s间隔进行刷新字典.具体原理代码如下所示: public void loadDic(HttpServletRequest r ...
- IOS方形头像如何变成圆形
方法一:直接使用UIView对应图层的cornerRadius self.layer.cornerRadius = CGRectGetWidth(self.bounds)/2.f; self. ...
- Gulp安装笔记
前言 总的来说,玩gulp的流程是这样的: 安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 ...
- 部署elasticsearch遇到的问题
为增加搜索功能,最近在自己的服务器上部署elasticsearch,折腾一下,把注意的问题记录一下. 1. 因为最近的es5.5.2要求java1.8,所以确保java版本正确. 2. 我的服务器只 ...