【发布时间】:2017-06-13 05:46:39
【问题描述】:
我是编程新手,也是这个网站的新手,我有一个关于嵌套 for 循环的问题。这是代码:
function eddardStarkSecret() {
var ans =[];
var map = [
[111, 1, 6], [110, 2, 5, 22], [115, 10], [83, 4], [119, 7],
[105, 9], [97, 12, 15, 18], [84, 14], [114, 16, 19],
[103, 17], [121, 20], [101, 21], [32, 3, 8, 11, 13], [74,0]
];
for (var i = 0; i < map.length; i++) {
for (var j = 1; j < map[i].length; j++)
ans[map[i][j]] = map[i][0];
}
return ans.reduce(function (prev, curr) {
return prev + String.fromCharCode(curr);
},"");
}
代码的输出是这样的:“Jon Snow is a Targaryen”
现在,我的问题是,它是怎么发生的?我对 array.reduce() 部分的工作原理有一点了解。我真正感到困惑的部分是嵌套 for 循环是如何工作的(比如它如何产生 32 个字符代码(空格键)以及它如何使数组长度为 23 并产生所需输出所需的单词)。
任何帮助将不胜感激。非常非常感谢。
【问题讨论】:
-
剧透警告!!
标签: javascript arrays for-loop multidimensional-array nested-loops