Javascript 如何基于一个数组中的键/值对为另一个数组中的对象指定属性值?
我有一个如下所示的数组:Javascript 如何基于一个数组中的键/值对为另一个数组中的对象指定属性值?,javascript,arrays,Javascript,Arrays,我有一个如下所示的数组: var字段=[{Name:'FirstName',值:'',显示:'FirstName'},{…}] 我有另一个数组,看起来像这样: var-nameValue=[{'FirstName':'John'},{'LastName':'Doe'},…] 如何使用第二个数组中的名称/值对为第一个数组中的每个字段分配Value属性 预期结果: fields=[{Name:'FirstName',Value:'John',Display:'FirstName'},{…}]循环、检
var字段=[{Name:'FirstName',值:'',显示:'FirstName'},{…}]
我有另一个数组,看起来像这样:
var-nameValue=[{'FirstName':'John'},{'LastName':'Doe'},…]
如何使用第二个数组中的名称/值对为第一个数组中的每个字段分配Value属性
预期结果:
fields=[{Name:'FirstName',Value:'John',Display:'FirstName'},{…}]
循环、检查、分配:
fields.forEach(function(field) {
let key = field.Name;
for (let i = 0; i < nameValue.length; i++) {
for (let nameKey in nameValue[i]) {
if (nameKey == key) {
field.Value = nameValue[i][key]
break;
}
}
}
});
fields.forEach(函数(字段){
让key=field.Name;
for(设i=0;i
首先将所有名称和值合并到一个对象中:
var nvObject = {};
nameValue.forEach(function (e) {
for (key in e) {
nvObject[key] = e[key];
}
});
现在nvObject={FirstName:'John',LastName:'Doe',…}
。也许您可以首先像这样构造nameValue
,而不是将其作为一个对象数组
然后您可以使用它来更新另一个数组
$fields.forEach(function (e) {
if (e.Name in nvObject) {
e.Value = nvObject[e.Name];
}
});
您可以先用所有需要的值创建一个对象,然后迭代
字段
,检查是否存在同名属性,然后分配值
var字段=[{Name:'FirstName',值:'',显示:'FirstName'}],
nameValue=[{FirstName:'John'},{LastName:'Doe'}],
values=Object.assign({},…nameValue);
forEach(o=>(值中的o.Name)和&(o.Value=values[o.Name]);
console.log(字段)
第一个数组中的第二个对象是否与第一个数组的形式相同,名称不同,或者是关于姓氏的信息?可能有一个对象的名称值与第二个数组中的每个键匹配。您尝试了什么代码?请阅读:。如果只显示部分数据集(甚至没有对齐),谁能帮助您呢?