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个是吗,我这样理解对吗,谢谢大家解决下
展开
 我来答
helen5106
2012-07-20 · TA获得超过1260个赞
知道小有建树答主
回答量:2015
采纳率:0%
帮助的人:1074万
展开全部
你的理解是正确的,
这个test函数,比较相等的个数,如果3个一样,match是3,第四个不同,match为0,重新开始计算,后3个一样,又加入到数组中,最后数组result排序,弹出最后一个,就是排序后最大的值,

所以这个函数的作用就是,比较2个字符串,返回相同位置的最大长度
追问
假设有7个,前三个相等,第四个不等,后三个相等,最后返回的数据都是两个都是三是吗,就是返回最长的一个是吗
追答
嗯,正确,返回的是个数组[3,3]
你可以 return 前面写 alert(result); 看到里面是什么
buddyfox
2012-07-18 · TA获得超过122个赞
知道答主
回答量:163
采纳率:100%
帮助的人:176万
展开全部
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();//取最后一个元素。
追问
假设有7个,前三个相等,第四个不等,后三个相等,返回的相等数是6个还是3个
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dongrenfei21
2012-07-18 · TA获得超过2926个赞
知道小有建树答主
回答量:1264
采纳率:0%
帮助的人:1216万
展开全部
假设有7个,前三个相等,第四个不等,后三个相等,返回的相等数是3个,就是返回最长相等一段字符的长度。
追问
假设有7个,前三个相等,第四个不等,后三个相等,最后返回的数据都是两个都是三是吗,就是返回最长的一个是吗
追答
是的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青鸟中关村专家
2018-06-27 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部
JavaScript函数就是将一些需要重复使用的代码整合到一起,只需要编写一次就可以多次被调用,减少了代码量,减少代码冗余情况。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式