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

如何使用Regular Expression返回包含指定关键词的数组元素字符串

问题解决实现

原代码错误点

  • 循环条件错误:i <= arr.length会触发数组下标越界,数组索引范围为0 ~ arr.length - 1,正确条件应为i < arr.length
  • JavaScript数组不存在regExp原生方法,正则匹配需要针对每个字符串元素调用匹配相关方法
  • 循环内直接对newArr赋值会覆盖之前的结果,而非向结果数组追加匹配到的元素
  • 此处场景不需要g(全局匹配)、m(多行匹配)修饰符,直接使用基础正则即可

推荐实现(最简洁)

使用数组filter方法搭配正则test()方法筛选匹配元素:

const arr = [
    'Sweet TV - some description',
    'MEGOGO - some description.',
    'Netflix - some description.',
];

// 筛选包含Netflix的元素,如需不区分大小写可将正则改为/Netflix/i
const newArr = arr.filter(item => /Netflix/.test(item))

console.log(newArr); // 输出:['Netflix - some description.']

修正原循环写法

如果你需要保留循环的实现形式,可以修改为如下代码:

const arr = [
    'Sweet TV - some description',
    'MEGOGO - some description.',
    'Netflix - some description.',
];

let newArr = []
// 修正循环条件
for (let i = 0; i < arr.length; i++) {
    // 对每个元素做正则匹配,匹配成功就推入结果数组
    if (/Netflix/.test(arr[i])) {
        newArr.push(arr[i])
    }
}

console.log(newArr);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:36:03