微信小程序系统软件_JS求Number类型数组中最大元素方法

  • 栏目:行业动态 时间:2021-01-08 15:37 分享新闻到:
<返回列表

JS求Number类型数组中最大元素方法       这篇文章主要介绍了如何用JS求Number类型数组中最大元素

如何使用JS,在一个Number类型的数组里,查找最大(或最小)数呢?

以下介绍四个方法。

1. 不使用任何库函数

代码如下:

function findMax1 (arr) {
 let result = 0;
 if (Array.isArray(arr)) {
 for (let i = 0; i arr.length; i++) {
 result = arr[i] result arr[i] : result;
 return result;
 } else {
 console.error('The parameter arr is not an array');
 return;

解释:

利用一个变量result来存储最大值。遍历待查找的数组,如果当前遍历的元素大于result,就把这个元素赋值给result。

2. 利用Array.reduce()

代码如下:

function findMax2 (arr) {
 let result = 0;
 if (Array.isArray(arr)) {
 result = arr.reduce((a, b) = {
 return a b a : b;
 }, 0);
 return result;
 } else {
 console.error('The parameter arr is not an array');
 return;

解释:

reduce方法就是通过一个函数,针对一个累加器(accumulator)和数组中的每一个元素,将一个数组最终减少到一个值。

reduce接受两个参数:

第一个是callback,就是那个前面提到的那个函数。它有四个参数:
accumulator:累加器,它是上次运行callback的结果。如果提供了initialValue,那么第一次就是initialValue; currentValue:当前遍历的数组的元素; currentIndex:当前遍历的数组的元素的index,从0开始。如果提供了initialValue,那就从1开始; array:当前应用reduce的数组。

第二个是initialValue,是一个初值,作为第一次运行callback函数的第一个实参。这个是可选的。这里要注意一下,如果这个参数不提供,并且应用在一个空数组上,是会报错的。

那么上面代码的意思就是,每次遍历数组进行比较,umulator,并将其用作下一次和数组元素的比较。最后只留下这一个值,即最大值。

3. 利用Apply和Math.max()

代码如下:

function findMax3 (arr) {
 let result = 0;
 if (Array.isArray(arr)) {
 result = Math.max.apply(null, arr);
 return result;
 } else {
 console.error('The parameter arr is not an array');
 return;
}

解释:

apply解释稍显复杂,不作进一步的解释。

它接受两个参数,第一个是thisArg,第二个是argsArray。两个都是可选的。此处简单来说,就是使用一个函数时,参数以数组的方式传递进去。

4. 只用Math.max()

代码如下:

function findMax4 (arr) {
 let result = 0;
 if (Array.isArray(arr)) {
 result = Math.max(...arr);
 return result;
 } else {
 console.error('The parameter arr is not an array');
 return;

解释:

基于上一个解法的思路,在ES6中,有一个扩展运算符(...),可以将一个数组中的元素拆出来,组成一个用逗号分隔的序列。刚好满足Math.max()函数的需求。

在给大家介绍一下JS之number、Math和数组的相关知识点

1、Number对象。

创建Number对象的方式:

方式1:

var 变量= new Number(数字)

方式2:

var 变量 = 数字;

常用的方法:

toString() 把数字转换成指定进制形式的字符串。(输入数字几,就转换为几, number.toString(2))

toFixed() 指定保留小数位,而且还带四舍五入的功能。

2、Math

Math对象常用的方法:

ceil 向上取整

floor() 向下取整

random() 随机数方法 // 产生的伪随机数介于 0 和 1 之间(含 0,不含 1),

round 四舍五入

3、Array数组对象:

创建数组的方式1:

var 变量名 = new Array(); 创建一个长度为0的数组。

方式2:

var 变量名= new Array(长度) 创建一个指定长度的数组对象。

方式3:

var 变量名 = new Array("元素1","元素2"...); 给数组指定元素创建数组 的对象。

方式4:

var 变量名 = ["元素1","元素2"...];

数组要注意的细节:

1. 在javascript中数组的长度是可以发生变化的。

var arr = new Array(); //创建了一个长度为0的数组对象。
arr[100] = 10;
document.write("arr长度:"+arr.length+" br/ 
var arr2 = new Array("狗娃","狗剩","铁蛋");
arr2 = ["狗娃","狗剩","铁蛋","张三"];
document.write("arr2长度:"+arr2.length+" br/ 

3.1数字的方法

a、concat把arr1与arr2的数组元素组成一个新的数组返回。 
arr1 = arr1.concat(arr2); 

b、join使用指定的分隔符把数组中的元素拼装成一个字符串返回。

var elements = arr1.join(",");

c、pop :移除数组中的最后一个元素并返回该元素。

d、push:将新元素添加到一个数组中,并返回数组的新长度值。

arr1.push("你好");

e、reverse(); 翻转数组的元素

f、slice指定数组 的开始索引值与结束索引值截取数组的元素,并且返回子数组。(包头不包尾)

var subArr = arr1.slice(1,2); 

g、sort排序,排序的时候一定要传入排序的方法。(不传时默认是按照ASCII表排列)

arr1 = [19,1,20,5];
arr1.sort(sortNumber); //排序,排序的时候一定要传入排序的方法。
function sortNumber(num1,num2){ 
return num1-num2;
}

h、splice第一个参数是开始删除元素的 索引值, 第二参数是删除元素的个数,往后的数据就是插入的元素(也可以不写)。

arr1.splice(1,1,"张三","李四","王五");


分享新闻到:

更多阅读

微信小程序系统软件_JS求Number类型数组中

行业动态 2021-01-08
JS求Number种类数字能量数组中较大原素方式 本文关键详细介绍了怎样用JS求Number种类数字...
查看全文

如何发布小程序_React Hooks的深化了解与使

行业动态 2021-01-08
React Hooks的深层次了解与应用 本文关键详细介绍了React Hooks的深层次了解与应用,网编感...
查看全文

外卖微信小程序_JS document对象简略用法完

行业动态 2021-01-06
JS document目标简易使用方法详细实例 本文关键详细介绍了JS document目标简易使用方法,融合...
查看全文
返回全部新闻


区域站点: 南丰县h5和小程序有什么区别   南宫市h5微信   囊谦县h5免费   南和县h5抽奖大转盘制作   南华县h5和小程序有什么区别   南江县h5微信   南京市h5免费   南靖县h5抽奖大转盘制作   南康市h5和小程序有什么区别   南乐县h5微信   南陵县h5免费   南宁市h5抽奖大转盘制作   南平市h5和小程序有什么区别   南皮县h5微信   南市区h5免费   南通市h5抽奖大转盘制作   南投县h5和小程序有什么区别   南雄市h5微信   南溪县h5免费   南阳市h5抽奖大转盘制作   南漳县h5和小程序有什么区别   南召县h5微信   南郑县h5免费   那坡县h5抽奖大转盘制作   那曲县h5和小程序有什么区别   纳雍县h5微信   讷河市h5免费   内黄县h5抽奖大转盘制作   内江市h5和小程序有什么区别   内丘县h5微信   内乡县h5免费   嫩江市h5抽奖大转盘制作   聂荣县h5和小程序有什么区别   尼玛县h5微信   尼木县h5免费   宁安市h5抽奖大转盘制作   宁波市h5和小程序有什么区别   宁城县h5微信   宁德市h5免费   宁都县h5抽奖大转盘制作   宁国市h5和小程序有什么区别   宁海县h5微信   宁化县h5免费   宁晋县h5抽奖大转盘制作   宁陵县h5和小程序有什么区别   宁明县h5微信   宁南县h5免费   宁强县h5抽奖大转盘制作   宁陕县h5和小程序有什么区别   宁武县h5微信   宁乡市h5免费   宁阳县h5抽奖大转盘制作   宁远县h5和小程序有什么区别   农安县h5微信   磐安县h5免费   盘锦市h5抽奖大转盘制作   盘山县h5和小程序有什么区别   磐石市h5微信   盘州市h5免费   蓬安县h5抽奖大转盘制作   澎湖县h5和小程序有什么区别   蓬莱市h5微信   彭山县h5免费   蓬溪县h5抽奖大转盘制作   彭阳县h5和小程序有什么区别   彭泽县h5微信   彭州市h5免费   偏关县h5抽奖大转盘制作   平安县h5和小程序有什么区别   平昌县h5微信   平定县h5免费   屏东县h5抽奖大转盘制作   平度市h5和小程序有什么区别   平果县h5微信   平和县h5免费   平湖市h5抽奖大转盘制作   平江县h5和小程序有什么区别   平乐县h5微信   平凉市h5免费   平利县h5抽奖大转盘制作   平罗县h5和小程序有什么区别   平陆县h5微信   屏南县h5免费   平泉市h5抽奖大转盘制作   屏山县h5和小程序有什么区别   平顺县h5微信   平塘县h5免费   平潭县h5抽奖大转盘制作   平武县h5和小程序有什么区别   萍乡市h5微信   平乡县h5免费   平阳县h5抽奖大转盘制作   平遥县h5和小程序有什么区别   平阴县h5微信   平邑县h5免费   平远县h5抽奖大转盘制作   平舆县h5和小程序有什么区别   皮山县h5微信   普安县h5免费   浦北县h5抽奖大转盘制作   浦城县h5和小程序有什么区别   普洱市h5微信   普格县h5免费   浦江县h5抽奖大转盘制作   普兰县h5和小程序有什么区别   普宁市h5微信   莆田市h5免费   迁安市h5抽奖大转盘制作   乾安县h5和小程序有什么区别   潜江市h5微信   潜山市h5免费  

友情链接: 月福步宜 微信小游戏h5 超恒鑫电子 h5免费制作 h5商城 h5 大转盘

Copyright © 2002-2020 h5免费_h5抽奖大转盘制作_h5和小程序有什么区别_h5微信_手机抽奖小程序 版权所有 (网站地图) 备案号:粤ICP备10235580号