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

如何用filter一行代码移除数组中所有子串匹配项?

Hey there! Let's break down your two requests into clean one-line solutions using JavaScript's array methods:

需求1:移除所有单引号(将"don't"转为"dont")

If you want to strip all single quotes from every element in the array (while keeping your original filter logic to remove exact "delete" matches), here's your one-liner:

const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"].map(item => item.replace(/'/g, '')).filter(item => item !== 'delete');
console.log(x); // Output: ["dont delete", "dont delete", "dont delete"]
  • map(item => item.replace(/'/g, '')) iterates through each element and removes all single quotes (the /g flag ensures we catch every instance, not just the first one).
  • We chain the filter method afterward to keep only elements that aren't exactly "delete".

If you just need to remove quotes without filtering out "delete" elements, simplify it to:

const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"].map(item => item.replace(/'/g, ''));

需求2:移除所有包含"don't"的元素

This is where includes() shines for substring matching. We just check if an element doesn't contain "don't" and keep those:

const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"].filter(item => !item.includes("don't"));
console.log(x); // Output: ["delete", "delete", "delete"]
  • item.includes("don't") returns true if the substring exists in the element. Adding the ! (not operator) inverses that, so we only keep elements that don't have "don't" in them.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 19:47:31