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

如何在JavaScript中实现将字符串"ABCD"转为["A","AB","ABC","ABCD"]的函数?

实现方法与术语说明

专业术语

这个生成字符串所有**前缀(Prefixes)**并组成数组的操作,英文可称为 String Prefix Array Generation,核心是提取目标字符串中长度从1到原字符串长度的所有前缀子串。

JavaScript 实现方案

方案1:基础循环实现

通过循环遍历字符串的每个字符,逐步拼接前缀并推入结果数组:

function getPrefixArray(str) {
  const result = [];
  let currentPrefix = '';
  for (const char of str) {
    currentPrefix += char;
    result.push(currentPrefix);
  }
  return result;
}

// 调用示例
console.log(getPrefixArray("ABCD")); // 输出 ["A","AB","ABC","ABCD"]

方案2:使用 Array.from 简化代码

利用Array.from的映射参数,直接生成对应前缀:

const getPrefixArray = str => Array.from(str, (_, index) => str.slice(0, index + 1));

// 调用示例
console.log(getPrefixArray("ABCD")); // 输出 ["A","AB","ABC","ABCD"]

方案3:使用 reduce 方法

通过累加器逐步构建前缀数组:

const getPrefixArray = str => str.split('').reduce((acc, char) => {
  acc.push(acc.length ? acc[acc.length - 1] + char : char);
  return acc;
}, []);

// 调用示例
console.log(getPrefixArray("ABCD")); // 输出 ["A","AB","ABC","ABCD"]

内容的提问来源于stack exchange,提问作者Rashad AL-Maqtary

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 10:50:37