javascript - 如果它与id匹配,如何在对象数组内的对象中添加一个属性
问题描述
我是角度的新手,如果有人提供帮助,将面临一个问题,那么我有一系列如下所示的对象
signals = [{
'signalID': '123'
},{
'signalID': '233'
},{
'signalID': '333'
},{
'signalID': '433'
},{
'signalID': '533'
},{
'signalID': '633'
},{
'signalID': '733'
}]
我有一个像下面这样的对象
signalOrder = {
333:1,
433:2,
533:3
}
如果signalId在signalOrder对象中匹配,我想向信号数组添加一个属性作为orderNo,否则orderNo应该为null。预期结果:
signals = [{
'signalID': '123',
'orderNo':null
},{
'signalID': '233',
'orderNo':null
},{
'signalID': '333',
'orderNo':1
},{
'signalID': '433',
'orderNo':2
},{
'signalID': '533',
'orderNo':3
},{
'signalID': '633',
'orderNo':null
},{
'signalID': '733',
'orderNo':null
}]
我希望它应该与 javascript map 功能一起使用,但不知道如何使用它。
解决方案
你可以这样做:
let signals = [{'signalID': '123'},{'signalID': '233'},{'signalID': '333'},{'signalID': '433'},{'signalID': '533'},{'signalID': '633'},{'signalID': '733'}];
let signalOrder = {333:1,433:2,533:3}
let mapped = signals.map(x=>{
return {
signalID:x.signalID,
orderNo:signalOrder[x.signalID]
}
})
console.log(mapped)
推荐阅读
- php - 使用 API 将订阅者添加到 aweber 列表,无需确认电子邮件
- c - 在没有参数的函数内部调用函数
- python - 在 HSV 中的两种颜色之间生成颜色列表
- nlp - 如何通过爬取整个网站来选择与我的句子相似的句子?
- dart - Shared Preference Dart - InternalLinkedHashMap' 不是“Map”类型的子类型
- html - 尝试创建一个自动完成 URL 的表单
- aix - 当我的应用程序从 AIX6.1 执行简单的脚本文件时,无法得到结果。请参阅标准错误。如何正确检查?
- xamarin - 从 Xamarin.UITest 运行应用程序时,NSUserDefaults plist 文件被删除并且不再创建
- python - Python:如何从用户那里获取多个值?
- c++ - wxWidgets - 在 OS X 上阻止窗口模式对话框