javascript - 过滤数组属性打字稿
问题描述
我有 2 个array
:
items = [
{
offenceType:"7",
offenceCode:"JLN14",
},
{
offenceType:"48",
offenceCode:"JLN14",
}
];
demo = [
{
offenceCode: 'JLN14',
offenceType: '7',
offenceDesc: 'emergency lane abuse'
},
{
offenceCode: 'JLN14',
offenceType: '48',
offenceDesc: 'speeding'
},
{
offenceCode: 'JLN13',
offenceType: '52',
offenceDesc: 'parking abuse'
}
];
我如何过滤这 2 之间的一些属性,array
例如:在gotitems
中,offenceType
所以我需要OffenceCode
将它与
which containsdemo
进行比较:offenceType
offenceCode
offenceDesc
offenceType
offenceCode
offenceDesc
demo
newArray = [];
// create new array to map 2 objects
this.items.forEach(x => {
this.newArray.push(x.offenceCode, x.offenceType);
console.log('newArray',this.newArray);
// doing filter
})
这是我的stackblitz 演示
以前我曾问过类似这个上一个问题的问题,但即使尝试了很多次如何解决这个问题我也无法弄清楚,我是编码新手,希望任何人都可以就如何解决这个问题提出建议
解决方案
你可以使用地图
const items = [
{
offenceType:"7",
offenceCode:"JLN14",
},
{
offenceType:"48",
offenceCode:"JLN14",
}
];
const demo = [
{
offenceCode: 'JLN14',
offenceType: '7',
offenceDesc: 'emergency lane abuse'
},
{
offenceCode: 'JLN14',
offenceType: '48',
offenceDesc: 'speeding'
},
{
offenceCode: 'JLN13',
offenceType: '52',
offenceDesc: 'parking abuse'
}
];
const newArray = items.map(item => {
const lookup = demo.find(i => item.offenceType === i.offenceType);
return {
offenceType: lookup.offenceType,
offenceCode: lookup.offenceCode,
offenceDesc: lookup.offenceDesc
}
});
console.log(newArray);
推荐阅读
- mysql - 如何优化 mysql 查询,因为 Full ProcessList 显示发送数据超过 24 小时
- azure - 来自 Windows 服务的单点登录
- angular - SnackBar 没有出现在 Angular 9 中
- php - 如何使用 php 在同一实体中添加两个侦听器
- docker - Jenkins 从本地注册表中提取图像:等待标头时超出 Client.Timeout
- javascript - 在 React Native 应用程序中访问整个文件的信息
- vue.js - 消息中未打印导入规则的参数 (min_value) - Vee-Validate/Vuetify
- pip - 如何为 python3.4 安装额外的 pip?
- r - 使用 dplyr 整理李克特量表数据
- c - 如何让 wc 接受管道文件而不是标准输入来获取输入?