該函數返回兩個對象之間的diff,我需要修改它以返回通用對象。任何幫助表示讚賞。兩個對象中的通用對象
陣列的樣品:
var array1 = [{
"Name": "Single",
"URL": "xxx",
"ID": 123
}, {
"Name": "Double",
"URL": "yyy",
"ID": 888
}, {
"Name": "Triple",
"URL": "zzz",
"ID": 567
}];
var arrar2 = [{
"Name": "Single",
"URL": "xxx",
"ID": 123
}, {
"Name": "Double",
"URL": "yyy",
"ID": 888
}, {
"Name": "index",
"URL": "zzz",
"ID": 567
}];
// expected result
var resultArray = [{
"Name": "Single",
"URL": "xxx",
"ID": 123
}, {
"Name": "Double",
"URL": "yyy",
"ID": 888
},
}];
當前代碼:
function objDiff(array1, array2) {
var resultArray = []
array2.forEach(function(destObj) {
var check = array1.some(function(origObj) {
if (origObj.name == destObj.name) return true
})
if (!check) {
destObj.desc = 'missing in source'
resultArray.push(destObj)
}
})
array1.forEach(function(origObj) {
var check = array2.some(function(destObj) {
if (origObj.name == destObj.name) return true
})
if (!check) {
origObj.desc = 'missing in destination'
resultArray.push(origObj)
}
})
return resultArray
}
如何也供給一些樣品物體與對其進行測試。 –
你需要對你目前的思維過程給出一些指示。我們需要知道你在批判性地思考你的問題。在當前狀態下,您將失去所有代表,因爲這聽起來像「我必須修改此代碼,但我不知道如何,請爲我做我的工作」。而不是,「我很好奇x,y,z,我試過a,b和c」。 – marcusshep
我已添加示例對象 –