首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个线性,以删除所有出现的子字符串在数组中与过滤器?

一个线性,以删除所有出现的子字符串在数组中与过滤器?
EN

Stack Overflow用户
提问于 2020-05-30 11:05:16
回答 3查看 91关注 0票数 1

标题解释了这个问题。我想通过一个数组过滤并删除所有的子字符串。类似于如何通过匹配整个字符串来移除这样的操作

代码语言:javascript
运行
复制
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()匹配,但不确定如何使用过滤器来实现它。

我怎么能用一条船来做这件事?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-05-30 11:18:20

所以让我们假设我只想删除所有的发生‘所以每一个不变成不

使用map函数代替filter

代码语言:javascript
运行
复制
const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"]
const toRemove = "'";

const res = x.map(i => (i.includes(toRemove) ? i.replace(toRemove, '').trim() : i));

console.log(res)

或者我只是想把所有的不都一起移除

使用map函数和filter函数

代码语言:javascript
运行
复制
const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"]
const toRemove = "'";

const res = x.map(i => i.split(' ').filter(w => !w.includes(toRemove)).join(' '));

console.log(res)

票数 1
EN

Stack Overflow用户

发布于 2020-05-30 11:10:50

您可以使用includes()尝试以下方式

代码语言:javascript
运行
复制
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);

请注意:常量的值不能通过重新分配而更改,也不能重新声明。

票数 2
EN

Stack Overflow用户

发布于 2020-05-30 11:14:30

如果我理解你的问题,你可以:

代码语言:javascript
运行
复制
const x = ["don't delete", "delete", "delete", "don't delete", "delete", "don't delete"]
  .filter(i => i.includes("don't")).map(s => s.replace("'", ""));

console.log(x);

因此,在map()之后使用filter()就可以完成这项工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62101511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档