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

JavaScript中移除数组中包含指定字符串的多个元素问题

移除数组中包含指定字符串的元素

嘿,这个需求我之前也碰到过,其实只要把原来的完全匹配逻辑改成包含匹配就搞定了,我给你调整下代码:

解决方案代码

var arr = [ 'abc / **efg**','hij / klm','**nop** / qrs','**efg** / okl'];
var removeStr = [ 'efg' , 'nop'];

arr = arr.filter(function(val) {
    // 反向判断:只要当前元素不包含removeStr里的任意字符串,就保留它
    return !removeStr.some(function(targetStr) {
        // 检查当前元素是否包含目标字符串,用includes更直观
        return val.includes(targetStr);
    });
});

console.log(arr); // 输出结果:[ 'hij / klm' ]

逻辑说明

  • Array.some() 会遍历removeStr数组,只要其中有一个字符串被当前val包含,就返回true;
  • 给这个结果加!取反后,filter就会自动过滤掉那些包含目标字符串的元素,只留下完全不匹配的项;
  • 如果你的运行环境比较旧(比如不支持ES6的includes),可以把val.includes(targetStr)换成val.indexOf(targetStr) !== -1,效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:45:52