angular - 如何比较相同对象的两个数组并将它们推送到变量中
问题描述
formKeyValues
我在另外两个名为和的对象中有一个对象form
表单键值
形式
我只想formKeyValues
从新数组中推送键和值parameter
-键在form.formKeys
-
我试过这个,但它不工作。
this.formKeyValues=this.selectedTimeLine.formKeyValues;
this.parameter=[];
this.formKeyValues.forEach((para)=>{
if(para.key==this.selectedTimeLine.form.formKeys){
this.parameter.push('d[/data/'+this.selectedTimeLine.form.formId+'/'+para.key+']='+para.value);
}
});
解决方案
请找到以下解决方案。我已经给出了 js 解决方案,所以它可以在这里运行。您可以通过将 var 替换为 const 来将其转换为 angular。
var formKeyValues = [{
key: 'key 1',
value: 1
},
{
key: 'key 2',
value: 2
},
{
key: 'key 3',
value: 3
},
{
key: 'key 4',
value: 4
},
{
key: 'key 5',
value: 5
},
];
var form = {
formId: 1,
formKeys: ['key 2', 'key 4', 'key 5']
};
var parameters = this.formKeyValues.filter(x => this.form.formKeys.indexOf(x.key) > -1).map(para => 'd[/data/'+this.form.formId+'/'+para.key+']='+para.value);
console.log(this.parameters);
推荐阅读
- regex - 正则表达式 if then else
- php - 将 Codeiginter 应用程序连接到外部 mysql 数据库
- blazor - 在 blazor 中使用 EventCallback 时,我应该将什么传递给 InvokeAsync?
- php - PHP预订系统将特定的while循环结果传递到下一个php页面
- twilio - 分页在 twilio 调用日志 laravel 中不起作用
- javascript - Node.js 从 JS 前端获取数组
- c# - 我的加载游戏/保存游戏方法存在严重问题
- java - webview在新片段选项卡中打开目标_blank
- android - Debounce 使 PublishSubject 只发出一项
- single-sign-on - ADFS 证书到期通知作业