1 回答

TA貢獻1818條經驗 獲得超8個贊
number這是一個有點骯臟的黑客,但它應該滿足除了、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}`)
那么這是怎么回事呢?我們使用插值模板字符串來生成所需的輸出,其中的表達式${these things}被評估為字符串。我們在那里放了什么亂七八糟的東西?
Array.from(Array(number + 1).keys())
上面的表達式創建了數組[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"
當所有這些放在一起時,我們得到了The factorial of 5 is 5*4*3*2*1=120
瞧!輸出以所需的格式打印,而不引入任何新變量。
編輯:哦,您不需要為此使用內插字符串。您也可以像在問題中所做的那樣將常規字符串連接在一起。例如
"The factorial of " + factorial + " is " + Array.from(Array(number + 1).keys()).slice(1).reverse().join("*") + "=" + factorial
添加回答
舉報