0
我正在嘗試在node.js中構建一個同步兩個不同系統的API,並且我無法分解從源系統接收的對象數組。 基本上,我收到一個數組,看起來有點像這樣:如何根據數組鍵的列表從JSON數組中刪除項目?
sourcedata = {
"items": [
{ "id": "item1",
"some fields": {...array of some fields },
"more fields": {another block of fields}
},
{ "id": "item2",
"some fields": {...array of some fields },
"more fields": {another block of fields}
}]
}
我也有是ID的三個陣列 - 新的(意味着我必須把它們發送到目標系統),舊(以從目標中刪除)以及同時出現的那些 - 我需要檢查特殊標籤以查看它們是否與衆不同。
例如
newitems = [id1,id2,id3]
existingItems [id4,id5,id6]
deletedItems = [id7,id8]
我想要做的就是創建新的陣列,將只包含新的和現有項目的數據,這樣我就可以處理,並將它們發送到目標系統而不掃描sourcedata陣列的每個關鍵並決定要做什麼。我知道如何做到這一點,當我比較簡單的數組,但在這裏我需要複製整個對象和所有的領域,我不能 找到正確的方法來做到這一點。任何幫助,將不勝感激。
我設法做到這一點之前,但仍然不知道如何將它應用到我的更復雜的數組,並且我正在尋找最有效的方法來從主數組中分離新的和現有的項目。要從目標系統中刪除項目,我需要的只是ID,但爲了發送更新,我需要整個數據集。 – NadavM
@ user3541347這種方法應該適用於所有陣列。你有什麼樣的特殊要求讓你認爲它不適用於「複雜」陣列? – maowtm
我的錯誤 - 我忘記引用數組了 - 基本上我的原始變量在容器中有數組,所以我不得不簡單地引用正確的數組。 工程就像一個魅力! – NadavM