我在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')
)中,而不是硬编码的值,即金钱。但这样做并不能归还任何东西,即使是“金钱”也是如此。作为关键字。
关于我在这里做错了什么的任何想法?
答案 0 :(得分:2)
这是它应该如何运作
var keyword = '345';
var f = ['1234', '3456'].filter(function(post) {
return (post.search(new RegExp(keyword, 'gi')) >= 0);
});
console.log(f);
这是你在纯JS中的功能
var posts = [{title: '1234'}, {title: '3456'}];
function searchPosts (keyword) {
return posts.filter(function(post) {
return (post.title.search(new RegExp(keyword, 'gi')) >= 0);
});
}
console.log(searchPosts('345'));
如果这不起作用,则问题出在其他地方;]。