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

JavaScript如何将数组元素用--拼接,保证每项长度不超过12字符

JS数组按规则拼接元素解决方案

你之前的实现问题在于,直接将所有元素拼接后按固定字符长度切割,会把单个完整元素或者分隔符切断,不符合要求。

正确实现思路是遍历原数组,逐个拼接元素,保证所有元素完整性:

  • 维护当前正在拼接的临时字符串
  • 每次加入新元素前,计算加上分隔符和新元素后的总长度
  • 如果总长度不超过上限就拼接,否则将当前临时字符串存入结果,用新元素作为下一轮拼接的起点
  • 遍历结束后把剩余的临时字符串存入结果

完整代码

const be = ["Hello", "welcome", "Hi", "morning", "Hi"];
// 如果要得到你给出的预期结果,将maxLen调整为15即可
const maxLen = 12;
const separator = '--';
const result = [];
let currentStr = '';

for (const item of be) {
  if (!currentStr) {
    currentStr = item;
    continue;
  }
  const totalLength = currentStr.length + separator.length + item.length;
  if (totalLength <= maxLen) {
    currentStr += `${separator}${item}`;
  } else {
    result.push(currentStr);
    currentStr = item;
  }
}
// 处理最后剩余的字符串
currentStr && result.push(currentStr);

console.log(result);

当maxLen设为15时,输出结果就是你需要的["Hello--welcome", "Hi--morning--Hi"]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:45:03