js获取值的几种方法(js 获取值),本文通过数据整理汇集了js获取值的几种方法(js 获取值)相关信息,下面一起看看。

   Native Math.max方法

   Math.max方法不能接收数组,可以用ES6的…来拆散数组。

   const arr=[111,12,111,34,2,5,76];console . log(math . max(…arr));

  当然也可以用apply方法调用。

   console . log(math . max . apply(null,arr));遍历最大值。

  遍历数组,依次比较,保存较大的数,最后得到最大值。这里,我们使用forEach进行遍历。

  函数max 2(arr){ let result=-Infinity;arr . foreach((item)={ if(item result){ result=item;} });返回结果;} console . log(max 2(arr));通过排序获得最大值。

  数组用sort方法排序后,第一个元素或最后一个元素为最大值,然后用shift或pop方法取出(由升序或降序决定)。值得注意的是,这两种方法都会修改原数组,可以使用slice方法复制一个数组,然后进行弹出元素操作。

  函数max3(arr) { return arr.sort((a,b)=ab)。切片()。pop();} console . log(max 3(arr));使用过滤器排除小值。

  使用filter函数依次取出自己的元素。当不能取出元素时,即返回函数的长度==0时,得到最大值。至于你为什么使用递归而不是循环,并且使用IIFE而不先声明它,嗯,你只是不想这么做。

   (function greater(arr,idx){ const RES=arr . filter(item=item arr[idx]);if(RES . length===1){ console . log(RES[0]);return RES[0];}更大(arr,idx 1);})(arr,0);用every来确定自己是否是最大值。

  使用every的原理和使用filter类似,即所有元素等于自身时,为最大值。

   (function greater(arr,idx){ if(arr . every(item=item=arr[idx]){ console . log(arr[idx]);return arr[idx];}更大(arr,idx 1);})(arr,0);使用递归模拟阵列方法

  和上面两种方法类似,只不过内层用递归和IIFE来模拟every。

   (函数outer(arr,i) { let flag=函数inner(arr,j) { if (arr[j]=arr[i]) {返回false}返回arr.length j 1?inner(arr,J1):true;}(arr,0);if(flag){ console . log(arr[I1]);return arr[I1];} outer(arr,I 1);})(arr,0);

  更多js获取值的几种方法(js 获取值)相关信息请关注本站,本文仅仅做为展示!