javascript函数功能问题
functiontest(str,str1){varresult=newArray();varmatch=0;for(vari=0;i<len(7假设);i++){if(...
function test(str,str1)
{
var result=new Array();
var match=0;
for(var i=0;i<len(7假设);i++)
{
if(str.charAt(i)==str1.charAt(i))
{
match++;
}
else if(match>0)
{
result.push(match);
match=0;
}
}
if(match>0)result.push(match)
result.sort();
return result.pop();
}
我的问题是这个函数比较两个字符串相等时,如果前面有(打比方说)3个相等,第4个不相等,将它保存在数组中,后面三个又相等,按理说是6个相等,那么这个函数有存在怎么实现这6个相等的意思在里面吗,还是说这个函数就是就是前面几个相等,保存后,在继续比较,比较出来的后面出现的相等是分开,最后排序排好序把最终最长的一段返回是吗,比说前面三个相等,第四个不等,后面三个相等,最终返回的长度就是三个不是6个是吗,我这样理解对吗,谢谢大家解决下 展开
{
var result=new Array();
var match=0;
for(var i=0;i<len(7假设);i++)
{
if(str.charAt(i)==str1.charAt(i))
{
match++;
}
else if(match>0)
{
result.push(match);
match=0;
}
}
if(match>0)result.push(match)
result.sort();
return result.pop();
}
我的问题是这个函数比较两个字符串相等时,如果前面有(打比方说)3个相等,第4个不相等,将它保存在数组中,后面三个又相等,按理说是6个相等,那么这个函数有存在怎么实现这6个相等的意思在里面吗,还是说这个函数就是就是前面几个相等,保存后,在继续比较,比较出来的后面出现的相等是分开,最后排序排好序把最终最长的一段返回是吗,比说前面三个相等,第四个不等,后面三个相等,最终返回的长度就是三个不是6个是吗,我这样理解对吗,谢谢大家解决下 展开
4个回答
展开全部
你的理解是正确的,
这个test函数,比较相等的个数,如果3个一样,match是3,第四个不同,match为0,重新开始计算,后3个一样,又加入到数组中,最后数组result排序,弹出最后一个,就是排序后最大的值,
所以这个函数的作用就是,比较2个字符串,返回相同位置的最大长度
这个test函数,比较相等的个数,如果3个一样,match是3,第四个不同,match为0,重新开始计算,后3个一样,又加入到数组中,最后数组result排序,弹出最后一个,就是排序后最大的值,
所以这个函数的作用就是,比较2个字符串,返回相同位置的最大长度
追问
假设有7个,前三个相等,第四个不等,后三个相等,最后返回的数据都是两个都是三是吗,就是返回最长的一个是吗
追答
嗯,正确,返回的是个数组[3,3]
你可以 return 前面写 alert(result); 看到里面是什么
展开全部
if(str.charAt(i)==str1.charAt(i))//对应位置的字符相等 match自增
{
match++;
}
else if(match>0)//不相等 将之前相等字符数 加入到result 数组中 match清零。
{
result.push(match);
match=0;
}
//所以match 的数字是连续字符相等的次数。
最后
if(match>0)
result.push(match)//将最后相等字符的次数 添加到数组,只有当 字符不相等的时候,才能将match 添加到result 的数组。
result.sort();//大小排序
return result.pop();//取最后一个元素。
{
match++;
}
else if(match>0)//不相等 将之前相等字符数 加入到result 数组中 match清零。
{
result.push(match);
match=0;
}
//所以match 的数字是连续字符相等的次数。
最后
if(match>0)
result.push(match)//将最后相等字符的次数 添加到数组,只有当 字符不相等的时候,才能将match 添加到result 的数组。
result.sort();//大小排序
return result.pop();//取最后一个元素。
追问
假设有7个,前三个相等,第四个不等,后三个相等,返回的相等数是6个还是3个
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设有7个,前三个相等,第四个不等,后三个相等,返回的相等数是3个,就是返回最长相等一段字符的长度。
追问
假设有7个,前三个相等,第四个不等,后三个相等,最后返回的数据都是两个都是三是吗,就是返回最长的一个是吗
追答
是的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-06-27 · 知道合伙人软件行家
关注
展开全部
JavaScript函数就是将一些需要重复使用的代码整合到一起,只需要编写一次就可以多次被调用,减少了代码量,减少代码冗余情况。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询