1 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
number這是一個(gè)有點(diǎn)骯臟的黑客,但它應(yīng)該滿(mǎn)足除了、count、 和 之外不factorial使用其他變量的條件。
let number = 5;
let factorial = 120;
// ^ Do your own calculation for this
alert(`The factorial of ${number} is ${Array.from(Array(number + 1).keys()).slice(1).reverse().join("*")}=${factorial}`)
那么這是怎么回事呢?我們使用插值模板字符串來(lái)生成所需的輸出,其中的表達(dá)式${these things}被評(píng)估為字符串。我們?cè)谀抢锓帕耸裁磥y七八糟的東西?
Array.from(Array(number + 1).keys())
上面的表達(dá)式創(chuàng)建了數(shù)組[0,1,2,3,4,5]。
.slice(1)給我們[1,2,3,4,5]
.reverse()給我們[5,4,3,2,1]
join("*")給我們"5*4*3*2*1"
當(dāng)所有這些放在一起時(shí),我們得到了The factorial of 5 is 5*4*3*2*1=120
瞧!輸出以所需的格式打印,而不引入任何新變量。
編輯:哦,您不需要為此使用內(nèi)插字符串。您也可以像在問(wèn)題中所做的那樣將常規(guī)字符串連接在一起。例如
"The factorial of " + factorial + " is " + Array.from(Array(number + 1).keys()).slice(1).reverse().join("*") + "=" + factorial
添加回答
舉報(bào)