I have a list of all available stock items with a unique stock id and detail attributes. From the UI, I collect customer selection, based on the unique value code in customer selection, I would like to find the selected item from the stock items. That is,
What is the best approach to find stockItem from availableStock that matches the value code attribute in customerSelection array list? Please have a look at the example below:
const customerSelection = {
"tv": [
{
"value": "tv_40",
"label": "Flat Screen"
}
],
"keyboard": [
{
"value": "keyboard_40",
"label": "Wireless Keyboard"
}
],
"mouse": [
{
"value": "mouse_40",
"label": "Wireless Mouse"
}
]
};
const availableStock = [
{
"stockId": "elec_c1_f1",
"attributes": [
{
"label": "Flat Screen",
"value": "tv_41"
},
{
"label": "Wireless Keyboard",
"value": "keyboard_41"
},
{
"label": "Wireless Mouse",
"value": "mouse_41"
}
]
},
{
"stockId": "elec_c1_f2",
"attributes": [
{
"label": "Flat Screen",
"value": "tv_40"
},
{
"label": "Wireless Keyboard",
"value": "keyboard_40"
},
{
"label": "Wireless Mouse",
"value": "mouse_40"
}
]
},
{
"stockId": "elec_c1_f3",
"attributes": [
{
"label": "Flat Screen",
"value": "tv_42"
},
{
"label": "Wireless Keyboard",
"value": "keyboard_42"
},
{
"label": "Wireless Mouse",
"value": "mouse_42"
}
]
}
]
Expected result with stockId (or Just the stockId)
const stockItem = {
"stockId": "elec_c1_f2",
"attributes": [
{
"label": "Flat Screen",
"value": "tv_40"
},
{
"label": "Wireless Keyboard",
"value": "keyboard_40"
},
{
"label": "Wireless Mouse",
"value": "mouse_40"
}
]
}
Any suggestion with/without lodash is appreciated.