使用节点js中的两个数组创建嵌套的json

时间:2020-02-12 10:00:04

标签: arrays node.js json express object

我有两个带有字段名称的数组,另一个数组有一个数组列表,其中每个数组都对应于表中的行。我如何使用这两个数组来创建JSON对象列表。有内置函数吗?我可以使用map / reduce / for -loop来实现这一点,但是如果第二个数组遍历每行时有更多行,则会影响性能。

我希望以下内容能更好地解释用例。请分享示例代码。

Arr1=[field1,field2];

Arr2=[[1,2],[3,4],[5,6]];

Expected Output:
[
{
field1 :1 ,
field2: 2
},
{
field1 :3 ,
field2: 4
},
{
field1 :5 ,
field2: 6
}
]

1 个答案:

答案 0 :(得分:0)

您可以使用Array.map映射元素

const mapFields = (arr1, arr2) => {
    const mappedArray = arr2.map((el) => {
        const mappedArrayEl = [];
        el.forEach((value, i) => {
            if (arr1.length < (i+1)) return;
            mappedArrayEl[arr1[i]] = value;
        });
        return mappedArrayEl;
    });
    return mappedArray;
}

const Arr1 = ["field1","field2"];
const Arr2 = [[1,2],[3,4],[5,6]];
console.log(mapFields(Arr1, Arr2));