jquery - 如何比较两个数组并将其插入更新或创建数组
问题描述
我有两个名称为 changedemployeesarray 和 allemployees 的数组。
var changedemployeesarray = [
{
"empId": "1126",
"name": "sam"
},
{
"empId": "1128",
"name": "mike"
},
{
"empId": "1134",
"name": "steve"
}
]
var allemployees = [
{
"empFullName": "sam Raj",
"empInfo": {
"empSeq": "1126",
"createDate": "2018-10-17"
},
"modfiedDate": "2018-10-24"
},
{
"empFullName": "mike",
"empInfo": {
"empSeq": "1128",
"createDate": "2018-10-17"
},
"modfiedDate": "2018-10-24"
},
{
"empFullName": "steve",
"empInfo": {
"empSeq": "1134",
"createDate": "2018-10-17"
},
"modfiedDate": "2018-10-24"
}
]
如果 changedemployeesarray 的 empId 在 allemployees 数组中存在/找到,我想插入 updatearray 。如果找不到,则将其插入到 createarray 下
我遵循了这种方法,有没有更好的方法
https://jsfiddle.net/o2gxgz9r/74296/
预期产出
更新数组
[{"empId":"1126","name":"sam"},{"empId":"1128","name":"mike"}]
创建数组
[{"empId":"1136","name":"steve"}]
解决方案
您可以使用过滤器来获取您的 2 数组。
var changedemployeesarray = [
{
"empId": "1126",
"name": "sam"
},
{
"empId": "1128",
"name": "mike"
},
{
"empId": "1136",
"name": "steve"
}
]
var allemployees = [
{
"empFullName": "sam Raj",
"empInfo": {
"empSeq": "1126",
"createDate": "2018-10-17"
},
"modfiedDate": "2018-10-24"
},
{
"empFullName": "mike",
"empInfo": {
"empSeq": "1128",
"createDate": "2018-10-17"
},
"modfiedDate": "2018-10-24"
},
{
"empFullName": "steve",
"empInfo": {
"empSeq": "1134",
"createDate": "2018-10-17"
},
"modfiedDate": "2018-10-24"
}
]
var updatearray = [];
var createarray = [];
updatearray = changedemployeesarray.filter(a=> allemployees.some(b=> b.empInfo.empSeq === a.empId));
createarray = changedemployeesarray.filter(a=> !allemployees.some(b=> b.empInfo.empSeq === a.empId));
console.log("updatearray",updatearray)
console.log("createarray",createarray)
推荐阅读
- javascript - Chart.js v2 - 如何在工具提示中设置依赖于数据集的日期格式
- python-3.x - 如何使用 Selenium 在 Python 中使用无头驱动程序
- bash - 根据列值打印字符 n 次
- html - 如何修复包裹在按钮中的跨度
- bixby - 如何正确扩展枚举
- reactjs - 带有 MaterialUI 对话框的 ReactJS:使用 Jest Enzyme 浅文本进行测试返回空
- sap - SAP HANA 中的每个新用户是否都被分配了一个与用户同名的模式?
- javascript - css 样式无法应用于本机反应
- python - 如何在 Flask 中显示来自 API 的多个图像
- c++ - OpenCV VideoCapture 输出图像剪切到左上角四分之一