微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

映射两个数组以获取对象数组

如何解决映射两个数组以获取对象数组

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

let arr1 = ["ProjectUniqueID","CompanyUniqueID","ClientProjectID"];
let arr2 = [["20-2867451","2","20-2867451",],["05-3134339","1","05-3134339"],["80-8424593","3","80-8424593",["18-2895279","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",ClientProjectID: "18-2895279"}]

解决方法

我认为你可以像这样使用 Object.fromEntries 函数。

let arr1 = ["ProjectUniqueID","CompanyUniqueID","ClientProjectID"];
let arr2 = [["20-2867451","2","20-2867451",],["05-3134339","1","05-3134339"],["80-8424593","3","80-8424593",["18-2895279","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,创建一个临时对象,并尝试将arr1的每个条目映射为键,将arr2上当前位置的每个元素映射为值那些钥匙。最后,将临时对象推入一个数组。例如:

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

如果你有很多数据要循环,这可能是个问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。