繁体   English   中英

映射两个arrays得到一个数组object

[英]Mapping two arrays to get an array of object

我需要帮助来获取一个数组中的元素并将其映射到 arrays 数组中的元素以获取键值对中的 object 数组 例如:

let arr1 = ["ProjectUniqueID","CompanyUniqueID","ClientProjectID"];
let arr2 = [["20-2867451","2","20-2867451",],
            ["05-3134339","1","05-3134339"],
            ["80-8424593","3","80-8424593",],
            ["18-2895279","3","18-2895279"]
            ]



result = [{ ProjectUniqueID: "20-2867451", CompanyUniqueID: "2", ClientProjectID: "20-2867451"},
          { ProjectUniqueID: "05-3134339", CompanyUniqueID: "1", ClientProjectID: "05-3134339"},
          { ProjectUniqueID: "80-8424593", CompanyUniqueID: "3", ClientProjectID: "80-8424593"},
          { ProjectUniqueID: "18-2895279", CompanyUniqueID: "3", ClientProjectID: "18-2895279"}]

我认为您可以像这样使用 Object.fromEntries function 。

 let arr1 = ["ProjectUniqueID","CompanyUniqueID","ClientProjectID"]; let arr2 = [["20-2867451","2","20-2867451",], ["05-3134339","1","05-3134339"], ["80-8424593","3","80-8424593",], ["18-2895279","3","18-2895279"] ] let arrObj = []; arr2.map((element)=>{ let item = Object.fromEntries( arr1.map((el, index) => [el, element[index]]) ); arrObj.push(item); } ) console.log(arrObj)

let result =[]
arr2.forEach(element => {
    let data = `{${arr1[0]} : ${element[0]}, ${arr1[1]} : ${element[1]}, ${arr1[2]} : ${element[2]} }`
    result.push(data)
});

arr2中循环,创建一个临时 object,并尝试将arr1的每个条目作为键,并将当前arr2的每个元素作为键的值。 最后,将临时 object 推入一个数组。 例如:

let arrObj = [];
for(let entry of arr2) {
    let obj = {
            [arr1[0]]: entry[0],
            [arr1[1]]: entry[1],
            [arr1[2]]: entry[2],
    };
    arrObj.push(obj);
}

如果您有大量数据要循环,这可能是个问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM