Converti array in oggetto in JavaScript

Kushank Singh 12 ottobre 2023
  1. Usa il metodo object.assign() per convertire un array in un oggetto in JavaScript
  2. Usa il metodo array.reduce() per convertire un array in un oggetto in JavaScript
  3. Usa l’operatore di diffusione per convertire un array in un oggetto in JavaScript
Converti array in oggetto in JavaScript

Array e oggetti sono considerati molto importanti in JavaScript. Entrambi sono modificabili e possono memorizzare alcuni valori in JavaScript.

Usiamo gli array quando memorizziamo più valori in una singola variabile, mentre un oggetto può contenere più variabili con i loro valori.

In genere, è più veloce utilizzare gli oggetti pur disponendo di grandi quantità di dati.

In questo tutorial impareremo come convertire un array in un oggetto in JavaScript.

Usa il metodo object.assign() per convertire un array in un oggetto in JavaScript

Il metodo assign() può leggere in modo iterativo le proprietà da uno o più di un oggetto a un oggetto di destinazione. Restituisce l’oggetto di destinazione.

Controlla il codice qui sotto.

const array = ['foo', 'boo', 'zoo'];
const obj = Object.assign({}, array);
console.log(obj)

Produzione:

{0: "foo", 1: "boo", 2: "zoo"}

Usa il metodo array.reduce() per convertire un array in un oggetto in JavaScript

Il metodo reduce() può applicare una funzione (fornita dall’utente) su ciascun elemento di un array. Restituisce un singolo valore di output.

Possiamo usarlo per effettuare la conversione necessaria.

Per esempio,

const array = ['foo', 'boo', 'zoo']
array.reduce(function(target, key, index) {
  target[index] = key;
  return target;
}, {})  // initial empty object

Produzione:

{0: "foo", 1: "boo", 2: "zoo"}

Usa l’operatore di diffusione per convertire un array in un oggetto in JavaScript

In JavaScript, l’operatore di diffusione (...) può decomprimere tutti gli elementi dell’array. Possiamo usarlo per convertire un array in un oggetto.

Per esempio,

const arr = ['foo', 'boo', 'zoo'];
const obj = {...arr};
console.log(obj);

Produzione:

{0: "foo", 1: "boo", 2: "zoo"}

Articolo correlato - JavaScript Array

Articolo correlato - JavaScript Object