[英]Javascript - return value from a loop
function findOdd(A) {
var odd = 0;
A.forEach(num => {
A.forEach(num2 => {
if (num == num2) {
odd = odd + 1;
};
});
if (odd % 2 == 1) {
console.log("num = " + num);
return num;
}
odd = 0;
});
}
var result = findOdd([5, 0, 0, 0, 2, 2, 3, 3, 4, 4]);
console.log(result);
當我嘗試返回 num 時,它返回為未定義。 如果我刪除“return”語句,它會正確打印到控制台。
你不能使用 return 來突破 forEach 並返回它。 您不會從 function 中返回任何內容,因為從 foreach 中返回的內容不會被返回。
您可以使用 for 循環來執行此操作。
function findOdd(A) { var odd = 0; for (let i = 0; i < A.length; i++) { for (let j = 0; j < A.length; j++) { if (A[i] == A[j]) { odd = odd + 1; } } if (odd % 2 == 1) { console.log("num = " + A[i]); return A[i]; } odd = 0; } } var result = findOdd([5, 0, 0, 0, 2, 2, 3, 3, 4, 4]); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.