簡體   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