2016-02-15 94 views
1

我想使用forEach Javascript方法拉數組的最大數目。這是我迄今爲止的,但我知道這是不正確的。使用forEach的最大數字循環數組()

var arr = [2,3,4]; 
 
var largest = 0; 
 
    
 
arr.forEach(function(elem){ 
 
    if(largest < elem) 
 
    largest = elem; 
 
    console.log(largest); 
 
});

回答

6

這將工作

var arr = [2,3,4]; 
var largest = 0; 

arr.forEach(function(elem){ 
    if(largest < elem) 
    largest = elem; 
}); 

console.log(largest); 

,但爲什麼你會甚至做呢?爲什麼不使用Math max?

var largest = Math.max.apply(Math, arr); 
+0

感謝的人....只是編碼,我需要完成的挑戰.... – Lucky500

1

如果你把console.log(largest); forEach循環之外,它會打印數組中數量最多。

1

要覆蓋數組中的負數,可以安全地將largest作爲數組中的第一個元素。

var arr = [2,3,4]; 
 
var largest = arr[0]; 
 
    
 
arr.forEach(function(elem){ 
 
    if(largest < elem) 
 
    largest = elem; 
 
}); 
 
console.log(largest);

+0

謝謝拉達。 – Lucky500

0
var 
    a = [2,3,4,2,1,9], 
    largest = 0; 

a.forEach(function(value){ 
    console.log('current array element value: ' + value + '. Is it larger than the largest?', (largest > value)); 
    if (largest < value) largest = value; 
    console.log('largest value now is: ', largest); 
}); 
console.log('largest is changed here, because it was not redefined inside the function of the forEach method: ', largest, '.\n But it was defined within its context.');