JS怎么判断多个对象相等
因为在做合并单据功能,可能有多张单据(十张以上)需要进行判断后才能合并,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("条件符合,可以合并");
}
jquery
web
java
------解决方案--------------------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;
}else{
isflag = true;
}
}
if(isflag==true){
break;
}
}
if (isflag == true) {
jQuery.messager.alert("警告",
"<br>选择合并的多张单据必须符合以下条件才能进行合并:
<br>1.单据状态相同;
<br>2.单据类型相同;
<br>3.外协通知单号相同;
<br>4.收货方与发货方相同。","warning")
}else {
alert("条件符合,可以合并");
}