一个衬里使用过滤器删除数组中所有出现的子串吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个衬里使用过滤器删除数组中所有出现的子串吗?相关的知识,希望对你有一定的参考价值。
标题几乎解释了这个问题。我想过滤一个数组并删除所有出现的子字符串。类似如何通过匹配整个字符串以将其删除来完成]
const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"]
x= x.filter(i => i !== 'delete me');
> console.log(x)
["don't delete", "don't delete", "don't delete"]
因此,我们只想删除所有出现的'
,以便每个don't
都变成dont
,或者也许我只想删除所有的don't
。我知道您可以用includes()
匹配子字符串,但不确定如何用过滤器实现它。
我该如何在一个班轮里进行这项工作?谢谢
答案
您可以使用includes()
尝试以下方式:
const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"]
var y = x.filter(i => i.includes("don't"));
console.log(y);
另一答案
如果我理解您的问题,您可以执行:
x.filter(i => i.includes("don't")).map(s => s.replace('\'', ''));
因此在map()
之后使用filter()
将完成工作。
以上是关于一个衬里使用过滤器删除数组中所有出现的子串吗?的主要内容,如果未能解决你的问题,请参考以下文章
UVA-11107 Life Forms(求出现K次的子串,后缀数组+二分答案)