Javascript 字符串编辑原型
这是我的代码:Javascript 字符串编辑原型,javascript,regex,string,prototype,Javascript,Regex,String,Prototype,这是我的代码: String.prototype.count = function(character) { var seq = new RegExp('/'+character+'/g'); var matches = this.toString().match(seq); return matches }; 'hello world'.count('o'); 这就是它应该做的: 返回os的数组 这就是它所做的: 返回空值 注:如果您不想在字符中使用RegE
String.prototype.count = function(character) {
var seq = new RegExp('/'+character+'/g');
var matches = this.toString().match(seq);
return matches
};
'hello world'.count('o');
这就是它应该做的:
- 返回
s的数组o
- 返回空值
注:如果您不想在
字符中使用RegExp,则应将其转义。您不是在创建所需的RegExp。应该是:
var seq = new RegExp(character, 'g');
当您使用RegExp
构造函数时,您只需给它正则表达式的内容,而不需要/
分隔符——这些分隔符只在RegExp文本中使用。您的RegExp正在查找文本字符串/o/g
这不是使用RegExp构造函数创建regex的方式,请检查此处的文档,也可能是重复的,您的方法的命名非常糟糕。我希望名为count
的方法返回一个整数。
var seq = new RegExp(character, 'g');