You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用原生JavaScript转换指定格式的字符串数组?

原生JavaScript实现字符串数组按索引位置拼接转置

给定输入数组:

['braid', 'write', 'pence', 'schmo']

需要生成新数组,其中每个元素由原数组所有字符串的对应索引字符依次拼接而成,输出结果为:

['bwps', 'rrec', 'ainh', 'itcm', 'deeo']

基础实现(假设所有字符串长度一致)

直接通过嵌套循环遍历每个索引位置,拼接对应字符:

const originalArr = ['braid', 'write', 'pence', 'schmo'];
const transposedArr = [];
const strCount = originalArr[0].length;

// 遍历每个字符索引
for (let i = 0; i < strCount; i++) {
  let combined = '';
  // 遍历原数组的每个字符串,取对应索引的字符
  for (const str of originalArr) {
    combined += str[i];
  }
  transposedArr.push(combined);
}

console.log(transposedArr); // 输出目标数组

兼容不同长度字符串的实现

如果原数组中存在长度不一致的字符串,可以先获取最长字符串的长度,对不足的位置补空字符(或根据需求忽略):

const originalArr = ['braid', 'write', 'pen', 'schmo'];
const maxStrLength = Math.max(...originalArr.map(s => s.length));
const transposedArr = [];

for (let i = 0; i < maxStrLength; i++) {
  let combined = '';
  for (const str of originalArr) {
    // 字符串长度不足时补空,也可替换为其他占位符或跳过
    combined += str[i] || '';
  }
  transposedArr.push(combined);
}

console.log(transposedArr); // 输出 ["bwps", "rrec", "ainpn", "itcm", "deo"]

内容的提问来源于stack exchange,提问作者ChrisC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 23:27:14