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)