Open In App

How to create an object from two arrays in JavaScript?

Improve
Improve
Like Article
Like
Save
Share
Report

To create an object from two arrays in JavaScript, we have multiple approaches. In this article, we are going to learn how to create an object from two arrays in JavaScript.

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"
}

Method 1: 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: In this example, we will be using Javascript 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' }

Method 2: 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: 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' }

Method 3: 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: 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

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

Method 4: Using for loop

This is the basic loop method for creating the object from the two arrays. We can iterate over one of the arrays and use the loop index to access corresponding elements from both arrays.

Example: In this example we are using loop.

Javascript




function createObject(keys, values) {
    let result = {};
    let length = Math.min(keys.length, values.length);
    for (let i = 0; i < length; i++) {
        result[keys[i]] = values[i];
    }
    return result;
}
 
// Example usage:
let a = [1, 2, 3, 4];
let b = ["ram", "shyam", "sita", "gita"];
let result = createObject(a, b);
console.log(result);


Output

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

Method 5: Using object.fromEntries() Method

The Object.fromEntries() method in JavaScript is a standard built-in object which is used to transform a list of key-value pairs into an object.

Example: In this example, we are using object.fromEntries() method.

Javascript




function createObject(keys, values) {
    const obj = Object.fromEntries(
        keys.map((key, index) => [key, values[index]]),
    );
 
    return obj;
}
 
let a = [1, 2, 3, 4];
let b = ["ram", "shyam", "sita", "gita"];
let result = createObject(a, b);
console.log(result);


Output

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


Last Updated : 09 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads