简单的数组直接使用$.unique(array);
对于一个数组元素是object对象,按照元素对象中某一个属性的值进行去重。
元数据准备:
var Phas = new Array();//定义一个数组
for(var i = 0;i<rows.length;i++){
var A = new Object();
A.deptCode = rows[i].orgidExec;
A.ordid = rows[i].ordid;
A.orderType = rows[i].ordTypeid;
A.serialno = serialno;
A.patientid = patientid;
A.admisSerialno = admisSerialno;
A.remark = rows[i].note;
Phas.push(A);//向数组中添加对象元素
}
去重方法:
Array.prototype.filter = function(){
for(var i=0, temp={}, result=[], ci; ci=this[i++];){
var ordid = ci.ordid;
if(temp[ordid]){
continue;
}
temp[ordid] = true;
result.push(ci);
}
return result;
};
调用:
Phas.filter();
例:
例如数组是:
{"deptCode":"demo002","ordid":"R|demo|demo001|20151207|000001","orderType":"00","serialno":"demo|0003
|demo001|20151207|000001","patientid":"4028e6a45179f15301517a095ae30000","admisSerialno":"demo|demo001
|demo00120151207|000001"},{"deptCode":"demo002","ordid":"R|demo|demo001|20151207|000002","orderType"
:"00","serialno":"demo|0003|demo001|20151207|000001","patientid":"4028e6a45179f15301517a095ae30000","admisSerialno"
:"demo|demo001|demo00120151207|000001"},{"deptCode":"demo002","ordid":"R|demo|demo001|20151207|000002"
,"orderType":"00","serialno":"demo|0003|demo001|20151207|000001","patientid":"4028e6a45179f15301517a095ae30000"
,"admisSerialno":"demo|demo001|demo00120151207|000001"}
按照ordid去重:(明显
ordid:R|demo|demo001|20151207|000002重复)
结果:
{"deptCode":"demo002","ordid":"R|demo|demo001|20151207|000001","orderType":"00","serialno":"demo|0003
|demo001|20151207|000001","patientid":"4028e6a45179f15301517a095ae30000","admisSerialno":"demo|demo001
|demo00120151207|000001"},{"deptCode":"demo002","ordid":"R|demo|demo001|20151207|000002","orderType"
:"00","serialno":"demo|0003|demo001|20151207|000001","patientid":"4028e6a45179f15301517a095ae30000","admisSerialno"
:"demo|demo001|demo00120151207|000001"}}