我想要實現的是在數組中找到最小的數字和它的初始位置。這裏有一個例子它應該做的:陣列中最小的數字和它的位置
temp = new Array();
temp[0] = 43;
temp[1] = 3;
temp[2] = 23;
那麼,到底我應該知道3號和位置1.我也有一個看看這裏:Obtain smallest value from array in Javascript?,但這種方式並沒有給我在陣列中的數位。任何提示,或代碼片斷,讚賞。謝謝。
我想要實現的是在數組中找到最小的數字和它的初始位置。這裏有一個例子它應該做的:陣列中最小的數字和它的位置
temp = new Array();
temp[0] = 43;
temp[1] = 3;
temp[2] = 23;
那麼,到底我應該知道3號和位置1.我也有一個看看這裏:Obtain smallest value from array in 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
包含那裏是數組中這樣的值最低的指數。
JavaScript沒有'int' ... – MattDiamant 2013-03-16 22:10:29
@MattDiamant:謝謝,糾正了這個問題。 – Guffa 2013-03-16 22:11:22
你想用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,雖然你鏈接了w3school ... :( – gdoron 2013-03-16 23:07:22
一行代碼:
alist=[5,6,3,8,2]
idx=alist.indexOf(Math.min.apply(null,alist))
請不要只是發佈代碼,解釋代碼的作用。 – 2017-06-07 18:25:20
見這個問題的「find max」版本的this answer。這很簡單,很好。您可以使用索引來獲取該元素。
我的天啊。我只是意識到我可以使用indexOf來查找最小號碼的位置。 – 2013-03-16 22:08:59
Ed.T感謝提到'indexOf'。它幫助了我。 – 2014-10-09 07:54:46