最小値のアルゴリズムは次のとおりです:

  1. 配列の最初の要素を変数に代入し、その変数を最小値とします;
  2. 配列の走査を開始し、2番目の要素から順に最初の要素と比較します;
  3. 現在の要素が現在の最小値より小さい場合、現在の要素の値を最小値に代入します;
  4. 次の要素に移動し、手順3を続行します;
  5. 配列要素の走査が終了すると、この変数に格納されているのが最小値です;

コードは次のとおりです:

// 查找数组中最小值
function arrayMin(arrs){
    var min = arrs[0];
    for(var i = 1, ilen = arrs.length; i < ilen; i+=1) {
        if(arrs[i] < min) {
            min = arrs[i];
        }
    }
    return min;
}
// 代码测试
var rets = [2,4,5,6,7,9,10,15];
console.log(arrayMin(rets));//2

上記は配列内の数値を比較したものです。配列内の数字が文字列の場合は、まず文字列を数値に変換してから比較する必要があります。文字列の比較は値ではなくASCIIコードで行われるためです。例えば、2のASCIIコードは15のASCIIコードより大きくなります。15のコードの最初の数字は1であり、2のASCIIコードは必ず1より大きいからです;

最大値を求めるアルゴリズムも上記と似ています:

  1. 配列の最初の要素を変数に代入し、その変数を最大値とします;
  2. 配列の走査を開始し、2番目の要素から順に最初の要素と比較します;
  3. 現在の要素が現在の最大値より大きい場合、現在の要素の値を最大値に代入します;
  4. 次の要素に移動し、手順3を続行します;
  5. 配列要素の走査が終了すると、この変数に格納されているのが最小値です;

コードは次のとおりです:

// 在数组中查找最大值
function arrayMax(arrs) {
    var max = arrs[0];
    for(var i = 1,ilen = arrs.length; i < ilen; i++) {
        if(arrs[i] > max) {
            max = arrs[i];
        }
    }
    return max;
}
// 代码测试
var rets = [2,4,5,6,7,9,10,15];
console.log(arrayMax(rets));//15