簡體   English   中英

如何以相反的順序打印出偶數?

[英]How to print out the even numbers in reverse order?

 var num = prompt("Enter an integer : ");
    var reversenum = num.reverse('');
    document.write(reversenum);

我想通過提示輸入一個 integer 后,以相反的順序打印出偶數個整數,但我不知道。 即使我嘗試編寫 split(),我也不認為我可以將它分開,因為這些字母是相互連接的。 我應該怎么辦?

The result I want is,
Enter an integer : 8541236954
46248

根據您更新的問題,我想您想要的是從給定的 integer 中提取偶數數字,並以相反的順序顯示它們。

由於prompt()總是返回一個String ,您可以使用以下兩種方法之一將其拆分為數字並反轉它們的順序:

  • 老派 JS 方式: num.split('').reverse()
  • ES6 數組傳播方式: [...num].reverse()

然后,只需使用Array.prototype.filter()返回偶數即可。 偶數可以根據其模數 2 始終為 0 的標准來選擇(即,當數字除以 2 時,余數為 0)。

最后,加入過濾后的數組,以便再次獲得一個字符串。

請參閱下面的概念驗證訂單:

 const num = prompt("Enter an integer: "); // eg try '8541236954' const digits = [...num].reverse(); const evenDigits = digits.filter(d => d % 2 ===0); console.log(evenDigits.join('')); // eg '46248'


您需要先將字符串拆分為一個字符數組,反轉該數組,然后再將其加入。 我給出了一個易於理解的代碼,它將反轉字符串的每個字符轉換為int並檢查 integer 是否是偶數,然后將其連接到答案中。

 var num = prompt("Enter an integer: "); var reversenum = num.split('').reverse().join(''); var ans = ""; for (var i = 0; i < reversenum.length; i++) { var x = parseInt(reversenum[i]); if(x%2 === 0) ans = ans.concat(reversenum[i]); } console.log(ans);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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