怎么检查?有N个input怎么判断互不相等最简单?

h2high 2002-12-02 09:45:09
有1到N个文本框,怎么样去判断他们之间互不相等最简单?
或者有这种函数?
...全文
59 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
h2high 2002-12-02
  • 打赏
  • 举报
回复
错了错了,应该是:
for (var i=0;i<chkitem.length-1;i++)if(chkitem[i]==chkitem[i+1])return false;
annkie 2002-12-02
  • 打赏
  • 举报
回复
如果排好序了这样就可以判断正确了。
for (var i=0;i<chkitem.length-2;i++)if(chkitem[i]==chkitem[i+1])return false;
h2high 2002-12-02
  • 打赏
  • 举报
回复
大家批评指导一下!!
h2high 2002-12-02
  • 打赏
  • 举报
回复
我只是想让大家指导一下这样好不好:
for (var i=0;i<chkitem.length-2;i++)if(chkitem[i]==chkitem[i+1])return false;
h2high 2002-12-02
  • 打赏
  • 举报
回复
对了,有一个前提是我已经将这些值变成一个数组了 chkitem,(当然也是一个循环^_^)。
在这个之前检查了他们不能为空,都必须为特定的格式等等(如数字)。

现在也已经排序了
chkitem=chkitem.sort();
annkie 2002-12-02
  • 打赏
  • 举报
回复
这个算法的次数应该比排序还要少,排序的算法比这个复杂些。
方工 2002-12-02
  • 打赏
  • 举报
回复
排序花的时间更长。
有一个相同就中止循环:
<script language="javascript">
function checkEqual(){
for(i=0;i<form1.elements.length;i++)
for(j=i+1;j<form1.elements.length;j++)
if(form1.elements[i].value==form1.elements[j].value)
{alert("存在相等的值"); return true;}
return false;
}
checkEqual();
</script>
h2high 2002-12-02
  • 打赏
  • 举报
回复
TO annkie:

我也是用的这种方式,只是觉得他要循环的次数比较多。
我原来想先将这些值排序一下,再将当前值与下一个比较就好了,不知道行不行?
annkie 2002-12-02
  • 打赏
  • 举报
回复
<script language="javascript">
<!--
for(i=0;i<form1.elements.length;i++)
for(j=i+1;j<form1.elements.length;j++)
if(form1.elements[i].value==form1.elements[j].value)
alert("存在相等的值")
//-->
</script>

87,942

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧