作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我为 Hackerrank 上的“Staircase”挑战提交的代码:
function staircase(n) {
// fill() fills out `undefined` items, which helps to initiate new n*n matrix
let matrix = Array(n).fill().map(() => Array(n).fill());
matrix.forEach((curArr, idY) => {
curArr.forEach((curVal, idX) => {
curVal = (idX + idY + 1 >= n) ? '#' : ' ';
process.stdout.write(curVal);
}, [])
console.log();
}, []);
}
当我使用staircase(6)
进行测试时,我确实得到了预期的结果:
#
##
###
####
#####
######
但是,当我修改代码以检查 matrix
时,如下所示:
function staircase(n) {
// fill() fills out `undefined` items, which helps to initiate new n*n matrix
let matrix = Array(n).fill().map(() => Array(n).fill());
matrix.forEach((curArr, idY) => {
curArr.forEach((curVal, idX) => {
curVal = (idX + idY + 1 >= n) ? '#' : ' ';
}, [])
}, []);
console.log(matrix);
}
这是我得到的:
[ [ undefined, undefined, undefined, undefined, undefined, undefined ],
[ undefined, undefined, undefined, undefined, undefined, undefined ],
[ undefined, undefined, undefined, undefined, undefined, undefined ],
[ undefined, undefined, undefined, undefined, undefined, undefined ],
[ undefined, undefined, undefined, undefined, undefined, undefined ],
[ undefined, undefined, undefined, undefined, undefined, undefined ] ]
所以我的问题是:
matrix
没有被修改? map()
?)最佳答案
这就是我要做的。
const array = (length, lookup) => Array.from({ length }, (_, i) => lookup(i));
const string = (separator, length, lookup) => array(length, lookup).join(separator);
const staircase = n =>
console.log(
string("\n", n, i =>
string("", n, j =>
i + j < n - 1 ? ' ' : '#')));
staircase(9);
除了 console.log
之外,staircase
函数是纯函数。
关于javascript - 如何在 JavaScript ES6 中功能性地遍历矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59638632/
我是一名优秀的程序员,十分优秀!