我的訂單有一些默認步驟
const defaultSteps = [
'In preparation',
'Order taken from courier',
'Order is on its way',
'Order delivered to customer',
'Partner declined order'
];
我從包含狀態更改日期和狀態名稱的后端歷史陣列中獲取
history: [ { status_name: "In preparation", status_id: "62a74ac2fc767ef024f031cd", date_updated: 2022-06-14T20:29:51.784 00:00 }, { status_name: "Order taken from courier", status_id: "62a74ac2fc767ef024f031cd", date_updated: 2022-06-14T20:29:51.784 00:00 } ]
我想創建一個新的陣列來檢查該步驟是否在歷史記錄中,將該元素從帶有日期欄位的歷史記錄推送到陣列,否則從 defaultSteps 推送元素
uj5u.com熱心網友回復:
如果我理解您的問題,您可以遍歷兩個陣列Array.forEach()并將元素推送到新陣列中:
const defaultSteps = [
'In preparation',
'Order taken from courier',
'Order is on its way',
'Order delivered to customer',
'Partner declined order'
];
const result = []
const history = [ { status_name: "In preparation", status_id: "62a74ac2fc767ef024f031cd", date_updated: "2022-06-14T20:29:51.784 00:00" }, { status_name: "Order taken from courier", status_id: "62a74ac2fc767ef024f031cd", date_updated: "2022-06-14T20:29:51.784 00:00" } ]
defaultSteps.forEach(str => {
let hasMatch = false
history.forEach(obj => {
if(str === obj.status_name) {
result.push(obj)
hasMatch = true
}
})
if(!hasMatch) {
result.push(str)
}
})
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/490835.html
標籤:javascript
上一篇:Javascript,將“,”替換為“。”在JSON中
下一篇:如何呼叫json的所有鍵?
