[英]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
,您可以使用以下兩種方法之一將其拆分為數字並反轉它們的順序:
num.split('').reverse()
[...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.