【发布时间】:2019-07-11 16:12:57
【问题描述】:
我有一个正在推送的arrayList:
imageList.push({
docId: docId,
letterNo: letterNo,
seqNo: seqNo
});
首先推送到我的数组中的数据是 docId:1 ,letterNo:1,seqNo:1 即:
"{"docId":1,"letterNo":1,"seqNo":1}"
另外一次我发送的New data 是 docId:2 ,letterNo:1,seqNo:1 这是:
"{"docId":2,"letterNo":1,"seqNo":1}"
我想将 arrayList 的所有旧值与新值进行比较,如果所有这三个属性都匹配,那么我需要从 arrayList 中切片旧对象。例如,如果我再次发送"{"docId":1,"letterNo":1,"seqNo":1}",则应从arraylist 中弹出旧对象,因为它与旧对象匹配并且需要推送当前对象。所以我尝试了:
imageList = imageList
.filter(function (
obj) {
return (obj.docId !== docId && obj.letterNo !== letterNo && obj.seqNo !== seqNo);
});
虽然两个对象1和2的docId不同,需要推送,但只是从arrayList中删除所有对象,虽然三个属性都不匹配。
【问题讨论】:
-
是是对不起它的数组
-
如果旧对象与新对象相似,是否要从数组中删除?
-
是的@PrasanthGanesan,但是对象的所有属性都应该匹配
-
Array.splice 如果要从数组中删除某些内容可能会有所帮助
-
使用
||而不是&&
标签: javascript jquery arraylist