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

JavaScript空数组拼接字符出现Undefined前缀问题求助

问题分析与解决

问题出在空数组的初始值上:你创建的是空数组,array[0]在第一次循环时的初始状态是undefined。JavaScript中,当undefined和字符串进行+运算时,会自动把undefined转换为字符串"undefined"再和目标字符拼接,这就是结果里出现undefined的原因。

解决办法

方法一:提前初始化数组元素

在循环开始前,把array[0]设为空字符串:

// 初始化数组时直接赋值
const array = [''];
// 或者先创建空数组再赋值
// const array = [];
// array[0] = '';

while(e <= f){
    array[0] += x.charAt(e);
    e++;
    console.log(array[0]);
}

方法二:循环内处理初始值

如果不想提前初始化,可以在拼接时用逻辑或运算符||兜底空值:

while(e <= f){
    array[0] = (array[0] || '') + x.charAt(e);
    e++;
    console.log(array[0]);
}

两种方法都能避免undefined被混入结果中,推荐第一种,逻辑更清晰,性能也更优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 10:15:28