繁体   English   中英

Javascript-如何使用函数查找数组的最小值?

[英]Javascript- how to find the minimum of an array using a function?

我有以下功能

function min() {
  var array = Array.prototype.slice.call(arguments);
  array = array.length === 1 && isNumeric(array[0].length) ? array[0] : array;

  var min = array[0];
  var i, count;
  for (i = 1, count = array.length; i < count; i++) {
    if (array[i] < min) min = array[i];
  }
  return min;
},

我不明白为什么要放置以下行,它的目的是什么?

array = array.length === 1 && isNumeric(array[0].length) ? array[0] : array;
  • condition ? returnIfTrue : returnIfFalse condition ? returnIfTrue : returnIfFalse称为三元运算符。
  • array.length === 1 && isNumeric(array[0].length)表示“如果array具有单个元素,而第一个元素本身就是一个Array”。
  • a = ternaryOperator意味着将a设置a三元运算符的结果。

这三个一起意味着您可以通过两种方式调用min

min(1, 2, 3)min([1, 2, 3])

该行允许直接将数字作为参数传递,或将单个数组作为第一个参数传递:

min(1,2,3);
min([1,2,3]);

我会将此功能重构为

 var min = (...args) => Array.isArray(args[0]) ? Math.min(...args[0]) : Math.min(...args); document.write("<pre>" + min([1,2,3,4,-1]) + "</pre>"); document.write("<pre>" + min(1,2,-3,4,-1) + "</pre>"); 

您的代码令人困惑,请尝试执行以下操作

var min = 1000000;
 var temp = 0;
if ( element < min){
 temp = element; 
 min = element;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM