[英]Find string in array of objects
我有兩個不同的數組,我試圖過濾一個,同時循環另一個。
const serviceCodes =
[
{
...otherStuff...
"codes": [
"786410010",
"787885010"
]
}
]
和
const laborCost =
[
{
"laborCode": "786410010",
"estimatedCost": {
"value": -1,
"currency": "USD"
}
},
{
"laborCode": "787885010",
"estimatedCost": {
"value": -1,
"currency": "USD"
}
}
]
我正在遍歷serviceCodes
並嘗試僅返回與 labourCode 匹配的對象
const serviceMatchesRow = serviceCodes[0].codes.forEach((code) => {
return laborCost?.find(
(service) => service.laborCode === code,
)
})
這將返回 undefined ,因為forEach
只運行它,但如果我使用.map
代替,它會返回laborCost
中的 2 個對象。 如果我改為.find
,它會返回一個帶有laborCode
本身的數組["786410010", 787885010]
。
那么我該如何解決呢?
所需的輸出將類似於:
[{
"laborCode": "786410010",
"estimatedCost": {
"value": -1,
"currency": "USD"
}
}]
forEach 方法不返回任何內容
所以你應該在新數組中插入匹配對象。 或使用 .map 方法
const serviceMatchesRow = [];
serviceCodes[0].codes.map((code) => {
serviceMatchesRow.push(laborCost.find((service) => {
return service.laborCode === code
}
));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.