私が達成しようとしているのは、配列内の最小数とその初期位置を見つけることです。これが何をすべきかの例です:
temp = new Array();
temp[0] = 43;
temp[1] = 3;
temp[2] = 23;
したがって、最終的には3番と1番の位置を知る必要があります。ここも見ました: Javascriptの配列から最小値を取得しますか? 、しかし、この方法では配列内の数値の位置がわかりません。ヒントやコード スニペットをいただければ幸いです。
私が達成しようとしているのは、配列内の最小数とその初期位置を見つけることです。これが何をすべきかの例です:
temp = new Array();
temp[0] = 43;
temp[1] = 3;
temp[2] = 23;
したがって、最終的には3番と1番の位置を知る必要があります。ここも見ました: Javascriptの配列から最小値を取得しますか? 、しかし、この方法では配列内の数値の位置がわかりません。ヒントやコード スニペットをいただければ幸いです。
配列をループして、最小の数値を探します。
var index = 0;
var value = temp[0];
for (var i = 1; i < temp.length; i++) {
if (temp[i] < value) {
value = temp[i];
index = i;
}
}
現在value
、最小値がindex
含まれており、配列内にそのような値がある最小インデックスが含まれています。
使いたいindexOf
http://www.w3schools.com/jsref/jsref_indexof_array.asp
他の質問から、以前に持っていたコードを使用して:
temp = new Array();
temp[0] = 43;
temp[1] = 3;
temp[2] = 23;
Array.min = function( array ){
return Math.min.apply( Math, array );
};
var value = temp.min;
var key = temp.indexOf(value);
reduce を使用して、 と比較できますInfinity
。
let minIndex = -1;
arr.reduce((acc, curr, index) => {
if (curr < acc) {
minIndex = index;
return curr;
} else {
return acc;
}
}, Infinity);
Math.min
およびスプレッド演算子を使用して最小値を見つけます。
var minimumValue = Math.min(...temp);
次に、次を使用してインデックスを見つけますindexOf
。
var minimumValueIndex = temp.indexOf(minimumValue);
個人的にはスプレッド演算子よりも好きapply
です。