Dadas dos arrays, la tarea es crear un objeto a partir de ellas, donde la primera array contiene las claves del objeto y la segunda array contiene los valores del objeto. Devuelve nulo si las longitudes de la array no son las mismas o si las arrays están vacías. Un ejemplo de este problema en la vida real es, por ejemplo, que tiene una array de números de estudiantes y una array de nombres de estudiantes que están en el mismo orden, y desea crear un objeto para que pueda acceda fácilmente al nombre del estudiante usando el número de lista.
Ejemplo:
Input: Array 1 => [1, 2, 3, 4] Array 2 => ["ram", "shyam", "sita", "gita"] Output: { 1: "ram", 2: "shyam", 3: "sita", 4: "gita" }
Para resolver este problema tenemos los siguientes enfoques:
Ejemplo 1: Uso del ciclo 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))
Producción:
{ 1: "ram", 2: "shyam", 3: "sita", 4: "gita" }
Ejemplo 2: Usar el método 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))
Producción:
{ 1: "ram", 2: "shyam", 3: "sita", 4: "gita" }
Publicación traducida automáticamente
Artículo escrito por _saurabh_jaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA