JavaScript 中的数组和字符串 [重复]

问题描述 投票:0回答:1
a = ['RED', 'BLUE', 'GREEN]

output = R B G

         E L R

         D U E

           E E

             N

如何实现这个输出? (我相信我们必须使用二维数组方法)

我为 a[i][j] 尝试了 2 个嵌套的 for 循环,但没有得到想要的结果。

javascript arrays string loops multidimensional-array
1个回答
-1
投票

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'))

© www.soinside.com 2019 - 2024. All rights reserved.