JS怎么判断多个对象相等

sweetyane 2013-03-01 03:16:19
因为在做合并单据功能,可能有多张单据(十张以上)需要进行判断后才能合并,1.选择的所有单据的单据状态必须相同,2.它们的单据类型相同,3.单号相同,4.收货方与发货方相同
我写的JS如下,但是只能判断两个,用户选择了三张单据,其中两张符合合并条件,一张不符合,就判断不出来了
希望高手帮我看下代码:

var array = jQuery('#dataTable').datagrid('getSelections');
if (array.length <= 1) {
jQuery.messager.alert("警告", "请选择您要合并的单据!", "warning");
return;
}
var isflag = true;
for ( var i = 0; i < array.length; i++) {
for ( var j = i + 1; j < array.length; j++) {
if (array[i].orig == array[j].orig
&& array[i].dest == array[j].dest
&& array[i].opStatus == array[j].opStatus
&& array[i].informId == array[j].informId
&& array[i].billtype == array[j].billtype) {
isflag = false;
break;
}
}
}
if (isflag == true) {
jQuery.messager.alert("警告",
"<br>选择合并的多张单据必须符合以下条件才能进行合并:
<br>1.单据状态相同;
<br>2.单据类型相同;
<br>3.外协通知单号相同;
<br>4.收货方与发货方相同。","warning")
}else {
alert("条件符合,可以合并");
}






...全文
1000 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweetyane 2013-03-04
  • 打赏
  • 举报
回复
引用 4 楼 pk320925pk 的回复:
你的写法应该是对的, 先判断1是否等于2 然后1是否等于3 然后2是否等于3
但是还是判断不出啊
2013-05-31 2013-03-03
  • 打赏
  • 举报
回复
你的写法应该是对的, 先判断1是否等于2 然后1是否等于3 然后2是否等于3
sweetyane 2013-03-03
  • 打赏
  • 举报
回复
引用 2 楼 pk320925pk 的回复:
这里不应该用 array[i].orig == array[j].orig && array[i].dest == array[j].dest && array[i].opStatus == array[j].opStatus && array[i].informId == array[j].informId &a……
但是你如果前面两张符合合并条件,最后一张不符合,就判断不出来了
2013-05-31 2013-03-03
  • 打赏
  • 举报
回复
这里不应该用 array[i].orig == array[j].orig && array[i].dest == array[j].dest && array[i].opStatus == array[j].opStatus && array[i].informId == array[j].informId && array[i].billtype == array[j].billtype 作为条件, 应该取反。
sweetyane 2013-03-02
  • 打赏
  • 举报
回复

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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