JavaScript编程精解(原书第3版)
上QQ阅读APP看书,第一时间看更新

2.19 习题

如果你不确定如何测试习题的答案,请参阅简介。

每个习题都从问题描述开始。阅读问题说明并尝试完成这些习题。如果你遇到问题,考虑阅读书后的习题解答提示。书中不包括习题的完整答案,但你可以在https://eloquentjavascript.net/code上在线找到它们。如果你想从习题中学到一些东西,我建议你只在解决某个习题之后,或者至少在努力尝试很久,想得头痛了都解决不了问题时,才去看答案。

1.循环三角形

编写一个循环,对console.log进行七次调用以输出以下三角形:

提示:可以通过在字符串后面写.length来查看它的长度。

2. FizzBuzz

编写一个使用console.log打印从1到100之间所有数字,但有两种情况除外的程序。对于能被3整除的数字,打印"Fizz"而不是这个数字,对于能被5整除(但不能被3整除)的数字,请改为打印"Buzz"。

完成上述任务后,请修改程序,将同时被3和5整除的数字打印为"FizzBuzz"(对于只能被3和5中的一个整除的数字,仍打印"Fizz"或"Buzz")。

(这实际上是一道面试题,有人声称要用它来筛掉相当比例的程序员候选人。所以,如果你解决了它,你的职场价值将会提升。)

3.棋盘

编写一个程序,创建表示8×8网格的字符串,使用换行字符分隔行。在网格的每个位置都有一个空格或一个#字符。这些字符应该组成一个国际象棋棋盘。

将此字符串传给console.log应显示类似内容:

当程序生成此图案时,请定义绑定size = 8并修改此程序,使其适用于任何size,并显示给定宽度和高度的网格。