JS字符串转数组实现及循环统计拆分后数据总量异常问题咨询
问题1:字符串拆分为数组的实现
对于逗号分隔的字符串,直接调用字符串的split()方法,传入分隔符,即可完成拆分,示例:
const demo2 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"; // 拆分后得到元素为数字字符串的数组 const array_demo2 = demo2.split(','); // 如果需要转成数字类型数组可追加map处理 const array_demo2_num = demo2.split(',').map(Number);
问题2:demo2统计异常的原因与修复
异常成因
你当前代码中const array_demo2 = [demo2];的写法是将整个demo2字符串作为唯一元素存入新数组,因此array_demo2.length的值为1,循环仅执行1次,最终得到的计数结果为1,自然无法统计所有数据的总量。
修复方案
将数组创建逻辑替换为上述split拆分的写法即可,修正后的完整JS代码如下:
const demo1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; const demo2 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15"; // 修正:拆分字符串为数组 const array_demo2 = demo2.split(',').map(Number); let text1 = ""; let number1 = ""; for (let i = 0; i < demo1.length; i++) { number1 = (i + 1); text1 += demo1[i]; } let text2 = ""; let number2 = ""; for (let i = 0; i < array_demo2.length; i++) { number2 = (i + 1); text2 += array_demo2[i]; } document.getElementById("demo1").innerHTML = number1 +' = '+ text1; document.getElementById("demo2").innerHTML = number2 +' = '+ text2;
修复后demo2的输出将和demo1完全一致,计数会正确显示为15,拼接的文本也会包含所有数字。
内容的提问来源于stack exchange,提问作者wiihii
相关产品推荐
相关产品推荐

