a = ['RED', 'BLUE', 'GREEN]
output = R B G
E L R
D U E
E E
N
如何实现这个输出? (我相信我们必须使用二维数组方法)
我为 a[i][j] 尝试了 2 个嵌套的 for 循环,但没有得到想要的结果。
const a = ['RED', 'BLUE', 'GREEN']
// length of the longest string
const max = Math.max(...a.map(s => s.length))
// create 2D array 3 x 1
const output = [...Array(max)].map(() => [])
// for each character
for (let i = 0; i < max; i += 1) {
// for each string
for (let j = 0; j < a.length; j += 1) {
output[i][j] = a[j][i]
}
}
// pretty print
console.log(output.map(e => e.map(c => c || ' ').join(' ')).join('\n'))