我有這2個循環來找到整數數組中的最大數字(for循環和一個while循環,用於相同的目的) For :把一個for循環和一個while循環變成一個do ... while循環JavaScript
var forHighest = function(array) {
var highest = array[0];
for (var i = 0; i < array.length; i++) {
if (highest < array[i]) {
highest = array[i];
}
}
return highest;
};
雖然:
var whileHighest = function(array) {
var i = 0;
var highest = array[0];
while (i < array.length) {
if (array[i] > highest)
highest = array[i];
i++;
}
return highest;
};
但現在我需要做一個While循環,但一切我嘗試不斷給我以我的數組的[0]索引的數量。我不認爲我以前曾經在功能上使用過do ... while循環,所以我可能不完全理解它們是如何工作的。下面是一些我嘗試:
var doWhile = function(array) {
var i = 0;
do {
i++;
} while (i < array.length);
if (array[i] > highest)
highest = array[i];
return highest;
};
也:
var i = 0;
var highest = array[0];
do{
if(highest < array[i]){
highest = array[i];
i++;
}
} while(i < array.length);
和:
var doWhile = function(array) {
var i = [i];
// var i = 0;
var highest = array[i];
do
{
i++;
} while (array[i] < highest && i < array.length);
// if (array[i] > highest);
return array[i];
但他們沒有工作。有人可以向我解釋我做錯了什麼嗎?
你首先做一方面是完全沒有意義的(什麼都不做的環,除了增量I) - 你的第二個循環將永遠循環下去,因爲你需要做的我++ OUTSIDE if條件,你的第三個循環使'i'成爲一個數組,所以,不會工作......儘管......移近了i + +在第二個do..while以外的條件,並且你應該是黃金 –
如果你的目的是找到最大和最小,那麼你可以看看這個 http://stackoverflow.com/questions/1669190/javascript -min-max-array-values – brk
@sinto - 數組沒有最大/最小值函數(還沒有?) –