如何使用javascript代码求数组最大值和最小值


这篇文章主要介绍了如何使用javascript代码求数组最大值和最小值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用javascript代码求数组最大值和最小值文章都会有所收获,下面我们一起来看看吧。给定一个数组[1,8,5,4,3,9,2],编写一个算法,得到数组的最大值 9,和最小值 1。算法1的思路是在自定义min()和max()函数中,通过循环由第一个值依次与后面的值作比较,动态更新最大值和最小值,从而找到结果。
算法2的主要思路是通过apply()函数改变函数的执行体,将数组作为参数传递给apply()函数。这样数组就可以直接调用Math对象的min()函数和max()函数来获取返回值。
在算法2中将min()函数和max()函数作为Array类型的静态函数,但不支持链式调用,我们可以利用对象字面量进行简化。
与算法2不同的是,在验证时,因为min()函数和max()函数属于实例方法,所以可以直接通过数组调用。
上面的算法代码中apply()函数传入的第一个值为{},实际表示当前执行环境的全局对象。第二个参数this指向需要处理的数组。
由于apply函数的特殊性第一个参数,指定为 null 或 undefined 时会自动替换为指向全局对象,原始值会被包装。所以我们也可以将第一个参数设置为null、undefind。
算法4的主要思想是reduce()函数不设置initialValue初始值,将数组的第一个元素直接作为回调函数的第一个参数,依次与后面的值进行比较。当需要找最大值时,每轮免费云主机域名累加器返回当前比较中大的值;当需要找最小值时,每轮累加器返回当前比较中小的值。
算法5的主要思想时借助数组的原生sort()函数对数组进行排序,排序完成后首尾元素即是数组的最小、最大元素。
默认的sort()函数在排序时时按照字母顺序排序的,数字会被按照字符串处理。例如数字 18 会被当做”18″处理,数字 6 被当”6″来处理,在排序时是按照字符串的每一位进行比较的,因为”1″比”6″要小,所以”11″排序时要比”6″小。对于数值类型的数组来说,这显然不合理。所以我们需要进行自定义排序。
关于“如何使用javascript代码求数组最大值和最小值”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“如何使用javascript代码求数组最大值和最小值”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: 如何用Python​实现按姓名拆分Excel为单独文件并自动发给相应联系人

本篇内容介绍了“如何用Python实现按姓名拆分Excel为单独文件并自动发给相应联系人”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近遇到一个需求:把员工信…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/14 11:46
下一篇 02/14 11:46

相关推荐