objects multidimensional initialize create array javascript arrays object typescript

javascript - multidimensional - typescript interface object



Cómo convertir una matriz de objetos a objeto con pares de valores clave (6)

Podría ejecutar una reducción sobre la matriz y devolver un nuevo objeto. Pero es importante recordar que si las propiedades son las mismas, se sobrescribirán.

const newObject = array.reduce((current, next) => { return { ...current, ...next}; }, {})

Si está utilizando es5 y no es6:

var newObject = array.reduce(function(current, next){ return Object.assign({}, current, next); }, {})

Quiero convertir una matriz de objetos a objeto con pares de valores clave en javascript.

var arr=[{"name1":"value1"},{"name2":"value2"},...}];

¿Cómo puedo convertirlo en un objeto como

{"name1":"value1","name2":"value2",...}

Quiero que sea compatible con la mayoría de los navegadores.


Podría usar Object.assign y una sintaxis de propagación ... para crear un solo objeto con la matriz dada con objetos.

var array = [{ name1: "value1" }, { name2: "value2" }], object = Object.assign({}, ...array); console.log(object);


Prueba esta lógica simple

var arr=[{"name1":"value1"},{"name2":"value2"}]; var obj = {}; //create the empty output object arr.forEach( function(item){ var key = Object.keys(item)[0]; //take the first key from every object in the array obj[ key ] = item [ key ]; //assign the key and value to output obj }); console.log( obj );


Prueba esto:

var arr=[{"name1":"value1"},{"name2":"value2"}]; var new_arr=[]; $.each(arr,function(index){ $.each(arr[index],function(key,value){ var nw_obj={}; nw_obj[key]=value; new_arr.push(nw_obj); }); }); console.log(JSON.stringify(new_arr));


Usando for...in bucle :

var arr=[{"name1":"value1"},{"name2":"value2"}]; var obj = {}; for (var i in arr) { obj[Object.keys(arr[i])] = arr[i][Object.keys(arr[i])]; } console.log(obj);

Usando el método Array.map() con ES6 :

var arr=[{"name1":"value1"},{"name2":"value2"}]; var obj = {}; arr.map(item => obj[Object.keys(item)] = item[Object.keys(item)]); console.log(obj);

Usando el método Object.assign() con ES6 spreaqd(...) asignación :

let arr=[{"name1":"value1"},{"name2":"value2"}]; let obj = Object.assign({}, ...arr); console.log(obj);


utilizar con Array#forEach y Object.keys

var arr = [{"name1": "value1"},{"name2": "value2"}]; var obj = {}; arr.map(k => Object.keys(k).forEach(a => obj[a] = k[a])) console.log(obj)