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

如何将二维字符串数组转换为单个数组并统计总单词数

JavaScript二维句子数组统计总单词数的优化实现

不用手动写嵌套循环,可以直接用JS内置的数组实例方法实现,代码更简洁易维护,底层经过引擎优化性能和手动循环基本持平,以下是两种常见实现:

实现1:链式调用(适合常规场景,可读性高)

先把二维数组拍平为字符串数组,再直接拆分合并为单词数组取长度即可:

const temp2 = [
  ['this is an array'],
  ['this is a scentence'],
  ['I love stackoverflow']
]

const totalWords = temp2
  // 把二维数组拍平为一维字符串数组
  .flat()
  // 每个字符串按空格拆分为单词数组,自动合并为一维的全量单词数组
  .flatMap(str => str.split(' '))
  .length

console.log(totalWords) // 输出9

实现2:reduce累加(适合超大数组场景,内存占用更低)

如果数组规模很大,不需要生成完整的单词数组占额外内存,可以直接累加每个句子的单词数:

const temp2 = [
  ['this is an array'],
  ['this is a scentence'],
  ['I love stackoverflow']
]

const totalWords = temp2.reduce((sum, subArr) => {
  subArr.forEach(str => sum += str.split(' ').length)
  return sum
}, 0)

console.log(totalWords) // 输出9

边缘情况处理

如果句子中存在连续空格、首尾空格的情况,split(' ')会产生空字符串,统计时可以加过滤逻辑:

// 拆分后过滤掉空字符串再统计长度
str.split(' ').filter(Boolean).length

内容的提问来源于stack exchange,提问作者Shuib Abdillahi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:30:01