如何从 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"
}