📌  相关文章
📜  如何从 JavaScript 中的两个数组创建一个对象?

📅  最后修改于: 2022-05-13 01:56:55.361000             🧑  作者: Mango

如何从 JavaScript 中的两个数组创建一个对象?

给定两个数组,任务是从它们创建一个对象,其中第一个数组包含对象的键,第二个数组包含对象的值。返回 如果数组长度不同或数组为空。这个问题在现实生活中的一个例子是,例如,你有一个学生卷数数组和一个学生姓名数组,它们的顺序相同,你想创建一个对象,这样你就可以使用卷号轻松访问学生姓名。

例子:

Input:
Array 1 =>  [1, 2, 3, 4]
Array 2 =>  ["ram", "shyam", "sita", "gita"]

Output:
{
  1: "ram",
  2: "shyam",
  3: "sita",
  4: "gita"
}

为了解决这个问题,我们有以下方法:

示例 1:使用 for-each 循环。

Javascript
let a = [1, 2, 3, 4];
let b = ["ram", "shyam", "sita", "gita"]
  
// Checking if the array lengths are same 
// and none of the array is empty
 function convertToObj(a, b){
  if(a.length != b.length || a.length == 0 || b.length == 0){
   return null;
  }
  let obj = {};
    
// Using the foreach method
  a.forEach((k, i) => {obj[k] = b[i]})
  return obj;
}
console.log(convertToObj(a, b))


Javascript
let a = [1, 2, 3, 4];
let b = ["ram", "shyam", "sita", "gita"]
  
// Checking if the array lengths are same 
// and none of the array is empty
 function convertToObj(a, b){
  if(a.length != b.length || a.length == 0 || b.length == 0){
    return null;
  }
   
// Using Object.assign method
  return Object.assign(...a.map((k, i)=>({[k]: b[i]}) ))
}
console.log(convertToObj(a, b))


输出:

{
  1: "ram",
  2: "shyam",
  3: "sita",
  4: "gita"
}

示例 2:使用 Object.assign 方法。

Javascript

let a = [1, 2, 3, 4];
let b = ["ram", "shyam", "sita", "gita"]
  
// Checking if the array lengths are same 
// and none of the array is empty
 function convertToObj(a, b){
  if(a.length != b.length || a.length == 0 || b.length == 0){
    return null;
  }
   
// Using Object.assign method
  return Object.assign(...a.map((k, i)=>({[k]: b[i]}) ))
}
console.log(convertToObj(a, b))

输出:

{
  1: "ram",
  2: "shyam",
  3: "sita",
  4: "gita"
}