Conversão de objeto array Object.entries()&&Object.fromEntries()

Use Object.fromEntries para converter uma matriz em um objeto

O método Object.fromEntries() converte uma lista de pares chave-valor em um objeto.

gramática:

  • Object.fromEntries( iterável )

iterable: Semelhante a Array, Map ou outros objetos iteráveis ​​que implementam o protocolo iterável.

retornar um novo objeto

let keyArray = [
    ['name','Yimning'],
    ['age','18']
]

console.log(Object.fromEntries(keyArray))
// {name:'Yimning',age:'18'}
  • Object.entries()

Object.entries(obj)O método retorna uma matriz de pares chave-valor das propriedades enumeráveis ​​do próprio objeto fornecido, na mesma ordem que seria  for...in retornada ao percorrer o objeto (com a diferença de que  for-ino loop também enumera propriedades na cadeia de protótipo).

let keyObj = {
	name:'Yimning',
	age:'18'
}

console.log(Object.entries(keyObj))
// [['name','Yimning'],['age','18']]

Entre eles, Object.entries() e Object.fromEntries() são operações recíprocas

Use Object.fromEntries para converter o mapa em um objeto

object.fromEntries() também pode converter os dados do tipo Map em um objeto

let map = new Map([['name','Yimning'],['age','18']])
console.log(map)
// {"name" => "Yimning", "age" => "18"}
console.log(Object.fromEntries(map))
// {name:'Yimning',age:'18'}

Uso misto de Object.entries e Object.fromEntries - conversão de objeto para objeto

let age = {p1:18,p2:19,p3:20}
const result = Object.fromEntries(Object.entries(age).filter(([key,value])=> value > 19))
console.log(result)
// {p3: 20}

Se não fizer Object.fromEntries converter o array em um objeto, como isso deve ser feito?

let arr = [
 ['name','Yimning'],
 ['age',18]
]

function toObject(arr){
   return Array.from(arr).reduce(
   	(acc,[key,value]) => Object.assign(acc,{[key]:value}),	  {}
   )
}

Acho que você gosta

Origin blog.csdn.net/Youning_Yim/article/details/109900041
Recomendado
Clasificación