javascript - 在对象数组中搜索从另一个数组提供的特定键
问题描述
我有一个结构如下的对象:
[
{
"id": "NONSTOPS",
"label": "Nonstop",
"value": "no"
},
{
"id": "REWARDS",
"label": "Rewards",
"value": "no"
},
{
"id": "SEAT",
"label": "Seats",
"value": "no"
},
{
"id": "BAGS",
"label": "Bags",
"value": "no"
}
]
和一个结构为
["NONSTOPS", "REWARDS"]
返回
[
{
"id": "NONSTOPS",
"label": "Nonstop",
"value": "yes"
},
{
"id": "REWARDS",
"label": "Rewards",
"value": "yes"
},
{
"id": "SEAT",
"label": "Seats",
"value": "no"
},
{
"id": "BAGS",
"label": "Bags",
"value": "no"
}
]
如果数组上存在 ID,它将基于数组搜索对象并将值更改为“是”。
到目前为止,这是我的代码
for(let i=0; i< obj.length; i++){
for(let j = 0; j<array.length; j++){
if(obj[i].id === array[j]){
obj[i].value ='yes'
}
}
}
我的代码似乎有些不对劲,我想知道是否有更简单的方法可以做到这一点,也许使用某种映射器?
解决方案
可能可以对您的数组使用 a.forEach
和indexOf
检查(为了更简洁,您的方法没有问题)
obj.forEach(o => {
if (array.indexOf(o.id) > -1) o.value = "yes";
});
推荐阅读
- python - VisPy 中体素的透明度
- jquery - 使用 DTO 对象作为参数将数据提交到 Web API
- android - 无法解析项目:react-native-camera
- python - 将方法应用于熊猫数据框中的几个选定列
- python - 从 igraph 中的 txt 文件导入/创建加权无向图
- c# - 如何将图像识别集成到 bot 框架中的 formFlow
- android - 上传照片并通过 RestApi 发送
- python - 31 个 QButtonGroups 的 5 个单选按钮迭代
- python - numpy 例程和 ndarray 方法之间的区别?
- machine-learning - LightGBM中多类分类中的树数