javascript - So konvertieren Sie ein Array von Objekten in Objekte mit Schlüsselwertpaaren




arrays object (4)

Ich möchte ein Array von Objekten in Objekte mit Schlüsselwertpaaren in Javascript konvertieren.

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

Wie kann ich es in ein Objekt wie konvertieren

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

Ich möchte, dass es in den meisten Browsern unterstützt wird.


Sie können Object.assign und eine Spread-Syntax verwenden, um ein einzelnes Objekt mit dem angegebenen Array mit Objekten zu erstellen.

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


Sie können das Array verkleinern und ein neues Objekt zurückgeben. Beachten Sie jedoch, dass bei gleichen Eigenschaften diese überschrieben werden.

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

Wenn Sie es5 und nicht es6 verwenden:

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

Versuchen Sie diese einfache Logik

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


Verwendung for...in Schleife :

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

Verwenden der Array.map() -Methode mit ES6 :

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

var obj = {};

arr.map(item => obj[Object.keys(item)] = item[Object.keys(item)]);

console.log(obj);

Verwenden der Object.assign() -Methode mit ES6 spreaqd(...) :

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

let obj = Object.assign({}, ...arr);

console.log(obj);





typescript