我一直在嘗試使用 for 回圈來制作在兩個字串之間交替并以 .toUpperCase 結尾的代碼,但我完全被卡住了。我“能夠”用一個有兩個字串的陣列來做到這一點(即使它有一個錯誤,因為它以陣列的第一個字串結尾......),但不能用兩個單獨的常量。
有人可以提供一些幫助嗎?
function repeteFrases(num) {
const frases = ["frase um", "frase dois"];
let result = "";
for (let i = 0; i < num; i ) {
result = i === num - 1 ? frases[0].toUpperCase() : `${frases[0]}, ${frases[1]}, `;
}
return result;
}
console.log(repeteFrases(2));
uj5u.com熱心網友回復:
為了在兩種狀態之間交替,您可以使用索引的奇偶性,即條件為i % 2 == 0,如下所示:
function repeteFrases(num) {
const frases = ["frase um", "frase dois"];
let result = "";
for (let i = 0; i < num; i ) {
result = i % 2 == 0 ? frases[0].toUpperCase() : `${frases[0]}, ${frases[1]}, `;
}
return result;
}
console.log(repeteFrases(5));
uj5u.com熱心網友回復:
你幾乎明白了。我認為你要求的是重復短語一或二(交替),并且最后一個版本是大寫的。我注意到其他人使您的代碼可執行,所以我可能會誤解。我們可以使用模運算子 (%) 測驗奇數/偶數,它可以保持對frases0 或 1 位置的訪問。另一個技巧是回圈直到一個短語比需要的少,并將最后一個附加為大寫。
function repeteFrases(num) {
const frases = ["frase um", "frase dois"];
//Only loop to 1 less than the expected number of phrases
const n=num-1;
let result = "";
for (let i = 0; i < n; i ) {
//Note %2 means the result can only be 0 or 1
//Note ', ' is a guess at inter-phrase padding
result =frases[i%2] ', ';
}
//Append last as upper case
return result frases[n%2].toUpperCase();
}
console.log(repeteFrases(2));
console.log(repeteFrases(3));
uj5u.com熱心網友回復:
用于frases[i % frases.length]交替短語(不管有多少)
function repeteFrases(num) {
const frases = ["frase um", "frase dois"];
let result = "";
for (let i = 0; i < num; i ) {
const next = frases[i % frases.length];
const isLast = (i === num - 1);
result = isLast ? next.toUpperCase() : `${next}, `;
}
return result;
}
console.log(repeteFrases(5));
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424846.html
標籤:javascript 功能 循环
上一篇:提取R中函式的輸入
