簡體   English   中英

Javascript - 從循環返回值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM