2013-03-16 5 views
6

私が達成しようとしているのは、配列とその初期位置で最小の数を見つけることです。ここではそれが何をすべきかの例です:配列の最小番号とその位置

temp = new Array(); 
temp[0] = 43; 
temp[1] = 3; 
temp[2] = 23; 

だから、最後に、私は数3とポジション1を知っている必要があります、私もここで見ていた:Obtain smallest value from array in Javascript?を、しかし、この方法は私の配列の数の位置を与えるものではありません。任意のヒント、またはコードスニペットをいただければ幸いです。ありがとう。

+2

ああ私の神。私は、indexOfを使って最小の位置を見つけることができたことに気付きました。 –

+0

Ed。 'indexOf'について言及してくれてありがとう。それは私を助けた。 –

答えて

12
配列による

だけループと最も小さい番号を探します。

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は、アレイ内の、そのような値がある最低のインデックスが含まれています。

+0

javascriptに 'int'がありません... – MattDiamant

+0

@MattDiamant:ありがとう、それを修正しました。 – Guffa

6

あなたが他の質問から、あなたが前に持っていたコードを使用して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); 
+1

+1、あなたはw3school ... ...( – gdoron

2

ワンライナー:

alist=[5,6,3,8,2] 

idx=alist.indexOf(Math.min.apply(null,alist)) 
+1

)にリンクしていますが、コードが何をしているのかを説明してください。 –

1

参照してください。この質問の "find max"バージョンのthis answerそれは簡単で良いです。索引を使用して後で要素を取得できます。

関連する問題