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

如何统计TypeScript数组中含'abc'的元素数量?求简便实现方法

简便统计数组中包含指定字符串的元素个数

嘿,当然有更简洁的实现方式啦!TypeScript依托ES6+的数组API就能轻松搞定,不用写繁琐的手动循环,代码更清晰易读:

方法1:filter + length 直观筛选计数

先通过filter筛选出所有包含'abc'的元素,再直接取筛选后数组的长度,这是最易懂的写法:

let list: Array<string> = ['abc', 'efg', 'abcde', 'eefg'];
const matchCount = list.filter(item => item.includes('abc')).length;
console.log(matchCount); // 输出:2

这里用includes('abc')判断元素是否包含目标字符串,比indexOf !== -1的语义更直白,TypeScript完全支持这个ES6方法。如果你的运行环境偏老,也可以替换成item.indexOf('abc') !== -1,效果完全一致。

方法2:reduce 直接累加计数

要是你想避免创建额外的中间数组(虽然大部分场景下性能差异可以忽略),用reduce能一步完成计数:

const matchCount = list.reduce((total, currentItem) => {
  return currentItem.includes('abc') ? total + 1 : total;
}, 0);
console.log(matchCount); // 输出:2

把reduce的初始值设为0,每遍历一个元素就判断是否符合条件,符合的话就给累加器加1,最后得到的就是符合要求的元素总个数。

这两种都是声明式的写法,比起手动写循环,代码的意图更明确,日常开发里用得非常频繁~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:12:38