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(字段)
第一个数组中的第二个对象是否与第一个数组的形式相同,名称不同,或者是关于姓氏的信息?可能有一个对象的
名称
值与第二个数组中的每个键匹配。您尝试了什么代码?请阅读:。如果只显示部分数据集(甚至没有对齐),谁能帮助您呢?