Javascript 提取模式计数并将其转储到数组中
我的程序目前在一个数组中循环,并计算一个模式在所有数组中出现的次数 例如:如果我在提示符下搜索“”,我将得到:Javascript 提取模式计数并将其转储到数组中,javascript,Javascript,我的程序目前在一个数组中循环,并计算一个模式在所有数组中出现的次数 例如:如果我在提示符下搜索“”,我将得到: 0,1,2,3,4 但我真的想以 4,1 Asat在数组1中出现4次,在数组2中出现1次 这是阵列中模式出现的次数 有没有关于我如何做到这一点的建议 非常感谢 web = ["cat fat hat mat", "that the who"]; var search = prompt('Search?'); function count(web, pattern) {
0,1,2,3,4
但我真的想以
4,1
Asat在数组1中出现4次,在数组2中出现1次
这是阵列中模式出现的次数
有没有关于我如何做到这一点的建议
非常感谢
web = ["cat fat hat mat", "that the who"];
var search = prompt('Search?');
function count(web, pattern)
{
if (pattern)
{
var num = 0;
var result = [];
for (i = 0; i < web.length; i++)
{
var current = web[i];
var index = current.indexOf(pattern);
while (index >= 0)
{
result[result.length] = num++;
index = current.indexOf(pattern, index + 1);
}
}
return result;
}
else
{
return ("Nothing entered!");
}
}
alert(count(web, search));
web=[“猫肥帽垫”,“那是谁”];
var search=prompt('search');
函数计数(web、模式)
{
如果(模式)
{
var num=0;
var结果=[];
对于(i=0;i=0)
{
结果[result.length]=num++;
索引=当前.indexOf(模式,索引+1);
}
}
返回结果;
}
其他的
{
返回(“未输入任何内容!”);
}
}
警报(计数(网络、搜索));
var-web=[“猫肥帽垫”、“那是谁”];
var search=prompt('search');
函数计数(web、模式)
{
如果(模式)
{
var num=0;
var结果=[];
对于(i=0;i=0)
num=0;
}
返回结果;
}
其他的
{
返回(“未输入任何内容!”);
}
}
警报(计数(网络、搜索));
这也行
var web = ["cat fat hat mat", "th the who"];
var answer = prompt('Search?');
var search = new RegExp( answer, "g");
function count(web, pattern)
{
var result = [];
for(var i=0; i< web.length; i++){
var matches = web[i].match(search) || [];
result[i] = matches.length;
}
return result.join(",");
}
alert(count(web, search));
var-web=[“猫肥帽垫”、“世界卫生组织”];
var answer=提示(“搜索”);
var搜索=新的RegExp(答案为“g”);
函数计数(web、模式)
{
var结果=[];
对于(var i=0;i
它将返回[4,1]
这将使用任何数组作为第二个参数
- 使用
而不是.match
,您将获得 直接匹配.indexOf
- 不要忘记声明您的
vari
- 把验证放在最上面,这样更容易理解
var web = ["cat fat hat mat", "that the who"]
, search = prompt('Search?')
function count(web, pattern){
if (!pattern){
return "Nothing entered!"
}
var result = []
, exp = new RegExp(pattern, "g")
for(var i = 0; i < web.length; i++){
var matches = web[i].match(exp)
result.push(matches ? matches.length : 0)
}
return result
}
alert(count(web, search))
相当于
return;
{
x: 1
};
也就是说,
返回undefined
我完全听不懂你的问题。您最初在何处搜索“at”?为什么你最终得到0,1,2,3,4?你有一个patters(或者我假设)的列表[“猫肥帽垫”,“那是谁”]你在寻找什么?你能详细说明一下吗?我想返回一个循环模式的计数,并在一个数组中返回它。很抱歉,我不能得到你。你能举个例子吗?示例“at”似乎并不完整。抱歉:我已经更新了questionthat是正则表达式函数,它查找该表达式在字符串中出现的次数,并返回这些出现的数组
count(s,web);
var web = ["cat fat hat mat", "that the who"]
, search = prompt('Search?')
function count(web, pattern){
if (!pattern){
return "Nothing entered!"
}
var result = []
, exp = new RegExp(pattern, "g")
for(var i = 0; i < web.length; i++){
var matches = web[i].match(exp)
result.push(matches ? matches.length : 0)
}
return result
}
alert(count(web, search))
return
{
x: 1
}
return;
{
x: 1
};