我有两个带有字段名称的数组,另一个数组有一个数组列表,其中每个数组都对应于表中的行。我如何使用这两个数组来创建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
}
]
答案 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));