【发布时间】:2020-11-13 03:31:54
【问题描述】:
我是 react 和 javascript 的新手。这里我尝试使用 lodsh 函数。
我有一个对象数组,看起来像,
const data = [{
"Id": "1",
"testone": 100,
"test": 40,
"Original": {
"Id": "11"
},
"__Parent__": {
"Id": "20",
"Status": "INP"
}
}, {
"Id": "2",
"testone": 120,
"test": 20,
"Original": {
"Id": "10"
},
"__Parent__": {
"Id": "21",
"Status": "Book"
}
},{
"Id": "3",
"testone": 110,
"test": 140,
"Original": {
"Id": "11"
},
"__Parent__": {
"Id": "20",
"Status": "INP"
}
}, {
"Id": "4",
"testone": 100,
"test": 40,
"Original": {
"Id": "11"
},
"__Parent__": {
"Id": "20",
"Status": "Val"
}
}]
在这里,我有一个具有产品 ID 的函数。我从另一个函数传递的 =>
cont value = (PID, data) => {
}
所以,这个函数,
我需要 sum ,首先我需要获取所有与 PID 具有相同 ID 的对象。来自对象的 ID 为 Original.ID。如果这些匹配,那么在那之后,我需要检查该对象的状态,例如,状态是INP or BOOK,那么求和需要采用
testone key value or else need to take the `test` key value.
所以,在给定的例子中,它会像,
Id 是 11,它被传递给一个函数,并在给定的对象中匹配 3 个对象。
现在,
返回 sum 时会是这样,
100 + 100 + 40 which will be 240.
那么,我该怎么做。谢谢。
【问题讨论】:
-
您可以使用
data.filter(item) => item.Original.Id === PID获取具有匹配PIDS 的项目数组。然后您可以在结果数组上使用map函数来执行求和逻辑。
标签: javascript lodash