【发布时间】:2017-07-05 09:48:11
【问题描述】:
我在 Typescript 中编写了以下函数:
public searchPosts(keyword ? : string): Post[] {
return this._posts.filter(function(post) {
if (post.title.search(new RegExp('money', 'gi')) >= 0) {
return post;
}
});
}
它工作得很好,但是我需要让它变得有点动态,这样我就可以把我的关键字变量放在 RegExp (new RegExp(keyword, 'gi')) 中,而不是硬编码的值,即钱。但是即使将“钱”作为关键字,这样做也不会返回任何东西。
关于我在这里做错了什么有什么想法吗?
【问题讨论】:
-
用
keyword替换'gi'? --- 嗯。 -
为什么要退回过滤器中的帖子?我使用 ES6
(keyword = '') => this._posts.filter(post => post.title.search(new RegExp(keyword, 'gi')) >= 0)让它工作 -
替换无效。我要退回符合条件的帖子?
-
filter应该返回true或false -
我相信过滤功能:
Returns the elements of an array that meet the condition specified in a callback function.
标签: javascript regex typescript