javascript - 访问对象中的嵌套键并将它们与其他对象键进行比较,但第二个是对象数组
问题描述
所以我遇到了这个问题,试图比较和访问嵌套对象中的数据,并将 tham 与带有对象的数组进行比较(这不是嵌套的)。
模拟它看起来像这样:
const members = [
{
name: 'Angelica',
age: '25',
sex: 'female',
phone: '123456789',
},
{
name: 'Dominic',
age: '30',
sex: 'male',
phone: '987654321',
},
];
const updates = {
123456789: {
date: '12.02-2019',
warnings: {},
errors: {}
},
987654321: {
date: '20.01-2020',
warnings: {
somethinghere: {
warning1: 'warning',
allok: 'yes',
}
},
errors: {},
}
}
所以首先我需要检查成员中的电话是否等于对象中的键,然后我需要找出是否有任何警告(警告不为空)。我尝试使用 forEach as 遍历成员,members.forEach((member) => {
if (Object.keys(updates) === member.name) }
但它似乎不起作用。更新中的警告等信息最初没有声明,但会在某些更改后出现在状态中。
解决方案
你可以使用map
和Object.keys
方法。
const members = [ { name: 'Angelica', age: '25', sex: 'female', phone: '123456789', }, { name: 'Dominic', age: '30', sex: 'male', phone: '987654321', }, ];
const updates = { 123456789: { date: '12.02-2019', warnings: {}, errors: {} }, 987654321: { date: '20.01-2020', warnings: { somethinghere: { warning1: 'warning', allok: 'yes', } }, errors: {}, } }
var result = members.map(({phone}) => ({phone, hasWarnings: Object.keys(updates[phone].warnings).length > 0}) );
console.log(result);
推荐阅读
- python - 我需要从 Xpath 获取图像 src
- data-binding - UI5 - 在数据加载到模型之前,控制格式化程序执行得太快
- plot - 如何更改鼠尾草中 3d 绘图的灯光设置?
- optimization - 使用 IBM cplex feasopt python 的接口获取不可行性
- c++ - 如何判断cout和cerr是否去同一个地方
- firebase - 需要权限时如何从 FirebaseStorage 加载多个图像?
- woocommerce - 将客户添加为 woocommerce 订阅取消订阅电子邮件的收件人(通知)
- azure - 添加动态内容 - Azure 数据工厂 ADF V2
- java - Spring Boot 的 Elasticsearch Searchguard 配置
- java - 无法在 Spring Boot 应用程序中解析符号“安全”