- 习题
- LoopingaTriangle
- FizzBuzz
- 棋盘
习题
如果你不清楚在哪里可以找到习题的提示,请参考本书的简介部分。
每个练习都以问题描述开始。 阅读并尝试解决这个练习。 如果遇到问题,请考虑阅读练习后的提示。 本书不包含练习的完整解决方案,但您可以在 eloquentjavascript.net/code 上在线查找它们。 如果你想从练习中学到一些东西,我建议仅在你解决了这个练习之后,或者至少在你努力了很长时间而感到头疼之后,再看看这些解决方案。
LoopingaTriangle
编写一个循环,调用 7 次console.log
函数,打印出如下的三角形:
#
##
##
###
###
####
#####
这里给出一个小技巧,在字符串后加上.length
可以获取字符串的长度。
let abc = "abc";
console.log(abc.length);
// → 3
FizzBuzz
编写一个程序,使用console.log
打印出从 1 到 100 的所有数字。不过有两种例外情况:当数字能被 3 整除时,不打印数字,而打印"Fizz"
。当数字能被 5 整除时(但不能被 3 整除),不打印数字,而打印"Buzz"
。
当以上程序可以正确运行后,请修改你的程序,让程序在遇到能同时被 3 与 5 整除的数字时,打印出"FizzBuzz"
。
(这实际上是一个面试问题,据说剔除了很大一部分程序员候选人,所以如果你解决了这个问题,你的劳动力市场价值就会上升。)
棋盘
编写一个程序,创建一个字符串,用于表示8×8
的网格,并使用换行符分隔行。网格中的每个位置可以是空格或字符"#"
。这些字符组成了一张棋盘。
将字符串传递给console.log
将会输出以下结果:
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
当程序可以产生这样的输出后,请定义绑定size=8
,并修改程序,使程序可以处理任意尺寸(长宽由size
确定)的棋盘,并输出给定宽度和高度的网格。