【发布时间】:2021-12-29 13:15:22
【问题描述】:
我有 2 个数组这个
let array1 = [
{
designation: "SSE",
emailId: "abc@gmail.com",
employeeId: 1997,
firstName: "user2",
},
{
designation: "DEVELOPER",
emailId: "ab@gmail.com",
employeeId: 19,
firstName: "user1",
},
{
designation: "DEVELOPER",
emailId: "ab@gmail.com",
employeeId: 191,
firstName: "user1",
},
];
let array2 = [
{
designation: "SSE",
emailId: "abc@gmail.com",
employeeId: 199,
firstName: "user2",
},
{
designation: "DEVELOPER",
emailId: "ab@gmail.com",
employeeId: 19,
firstName: "user1",
},
{
designation: "DEVELOPER",
emailId: "ab@gmail.com",
employeeId: 191,
firstName: "user1",
},
{
designation: "TESTER",
emailId: "ab@gmail.com",
employeeId: 1221,
firstName: "user1",
},
];
看,我在两个数组中都有一些共同的记录,而 array2 中缺少一个。如果employeeId 不匹配,我想将它们合并为一个。像这样。
let array3 = [
{employeeId: 1997, isActive: false},
{employeeId: 199, isActive: true},
{employeeId: 19, isActive: true},
{employeeId: 191, isActive: true},
{employeeId: 1221, isActive: false}
]
array3[3].isActive 为 false,因为它在两个数组中都不匹配。
【问题讨论】:
-
你能解释一下为什么
employeeId: 199是真的而employeeId: 1221是假的吗? -
这是因为它们在两个数组中都不匹配。
-
@Gajen
1997在array1但不在array2,为什么是true? -
@Gajen
employeeId: 199在第一个数组中也不匹配,那么为什么它有isActive: true? -
预期的结果仍然是错误的。请通过比较逻辑来纠正它。根据您的逻辑,只有
19和199为真,因为它们只是 copmmon 元素。
标签: javascript html reactjs