如何计算JavaScript中多个字符串的总字符长度?
计算JavaScript数组中字符串的总字符数
你遇到的问题是aText.length返回的是数组内字符串的数量,而非所有字符串的总字符数。要实现总字符数统计,核心思路是遍历数组中的每个字符串,累加它们各自的length属性。下面是几种实用的实现方式:
方法一:使用reduce(推荐,简洁高效)
reduce方法可以直接对数组元素进行累加操作,代码最简洁:
var aText = [ "There are only 2 types of people in the world:", "Girls and boys, any other thing? I don't know." ]; const totalCharacters = aText.reduce((accumulator, currentStr) => accumulator + currentStr.length, 0); console.log(totalCharacters); // 输出总字符数
- 原理:第一个参数是累加函数,
accumulator保存当前累加的总和,currentStr是数组中当前遍历到的字符串;第二个参数0是累加的初始值,确保从0开始计数。
方法二:使用forEach循环(直观易理解)
如果更习惯显式遍历,forEach是不错的选择:
var aText = [ "There are only 2 types of people in the world:", "Girls and boys, any other thing? I don't know." ]; let total = 0; aText.forEach(str => { total += str.length; }); console.log(total);
- 原理:初始化一个总和变量
total为0,遍历数组中的每个字符串,将其长度逐个加到total中。
方法三:使用普通for循环(兼容性最优)
如果需要兼容非常老旧的JavaScript环境,普通for循环是最稳妥的方案:
var aText = [ "There are only 2 types of people in the world:", "Girls and boys, any other thing? I don't know." ]; let total = 0; for (let i = 0; i < aText.length; i++) { total += aText[i].length; } console.log(total);
以上三种方法都能自动适配数组中字符串数量的变化,不管数组新增或减少元素,都能正确计算总字符数。
内容的提问来源于stack exchange,提问作者Victory Osiobe
相关产品推荐
相关产品推荐

