JavaScript 查找数组中最小值和最大值

╰+哭是因爲堅強的太久メ 2022-05-14 09:12 375阅读 0赞

查找最小值

方法1. Math.min.apply(Math,arr)

  1. function min(target){
  2. return Math.min.apply(Math,target)
  3. }
  4. console.log(min([1,2,3]))

Math.min()返回给定数值的最小值,如果不是数值则返回NaN。
因为Math.min方法不支持直接传入一个数组,必须一个个参数传入,所以就有了Math.min.apply(this, args); aplly接受两个参数,第一个参数为指定当前函数调用时的this值。
这里第一个参数不重要,第二个参数为数组 ,调用函数时这个数组里的每个元素都会被当成参数传入该函数,也就是相当于把这个数组里所有的元素都传入了 Math.min() 方法。

方法2. 循环

  1. function min(target){
  2. let min = arr[0];
  3. for (let i = 0; i < target.length - 1; i++) {
  4. min= min< target[i+1] ? min: target[i+1]
  5. }
  6. }

方法3.利用ES6的拓展运算符

  1. Math.min(...target)

方法4 sort

  1. arr.sort((num1, num2) => { return num1 - num2 > 0 }) return arr[0]

方法5 reduce

  1. arr.reduce(
  2. (num1,num2)=>{
  3. return num1 > num2 ? num2 : num1
  4. }
  5. )

查找最大值

方法1. Math.max.apply(Math,arr)

  1. function max(target){
  2. return Math.max.apply(Math,target)
  3. }
  4. console.log(min([1,2,3]))

方法2 ES6拓展运算符

  1. Math.max(...target)

方法3 循环

  1. let max = arr[0];
  2. for (let i = 0; i < arr.length - 1; i++) {
  3. max = max < arr[i+1] ? arr[i+1] : max
  4. }

方法4 sort

  1. arr.sort((num1, num2) => { return num1 - num2 < 0 }) return arr[0]

方法5 reduce

  1. arr.reduce((num1, num2) => { return num1 > num2 ? num1 : num2} )

发表评论

表情:
评论列表 (有 0 条评论,375人围观)

还没有评论,来说两句吧...

相关阅读