Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

How to create an object from two arrays in JavaScript?

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given two arrays the task is to create an object from them where the first array contains the keys of the object and the second array contains the values of the object. Return null if the array lengths are not the same or if the arrays are empty. An example of this problem in real life is, for example, you have got an array of roll number of students and an array of the name of the students which are in the same order, and you want to create an object so that you can access the student name using the roll number easily.

We can create an object from two arrays in Javascript in the following ways:

Example:

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

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

Using for-each loop: The arr.forEach() method calls the provided function once for each element of the array. The provided function may perform any kind of operation on the elements of the given array. 

Example 1: In this example, we will be using Javascript`s for-each loop.

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))

Output:

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

Using Object.assign method: The Object.assign() method is used to copy the values and properties from one or more source objects to a target object.

Example 2: In this example, we will be using Javascript`s Object.assign method.

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))

Output:

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

Using reduce() method: The Javascript arr.reduce() method in JavaScript is used to reduce the array to a single value and executes a provided function for each value of the array (from left to right) and the return value of the function is stored in an accumulator. 

Example-3: In this example, we will be using Javascript`s reduce() method.

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 reduce() method
    let object = a.reduce((acc, element, index) => {
        return {
            ...acc,
            [element]: b[index],
        };
    }, {});
 
    return object;
}
console.log(convertToObj(a, b));

Output:  Here in output we will experience the keys of an object in string format by default.

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

My Personal Notes arrow_drop_up
Last Updated : 26 Apr, 2023
Like Article
Save Article
Similar Reads
Related Tutorials