背景
在做 37. 解数独 - 力扣(LeetCode) 时,需要对当前格子试探字符'1' - '9'
首先我想到使用`.toString`,这种方法很简洁
for (let i = 1; i <= 9; i ++) {
console.log(i.toString())
}
问题描述
随后想起来自己之前遍历时候这样写过:
let chars: string[] = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for (let char in chars) {
console.log(char)
}
输出结果为 `0-8`,当时好纳闷为啥这样... ...
原因
for ... in 遍历的是数组的索引,而非数组的值
修正
使用 `for ... of`
let chars: string[] = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for (let char of chars) {
console.log(char) // 输出的是值
}
于是输出 `1-9`了,:)

Comments NOTHING