[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Object/entries [Back]  [Original]

Object.entries() - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

Object.entries()

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since maro de 2017.

Experimental: Esta uma tecnologia experimental
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produo.

O mtodo Object.entries() retorna uma array dos prprios pares [key, value] enumerveis de um dado objeto, na mesma ordem dos objetos providos atravs do loop for...in (sendo a diferena que o for-in loop enumera tambm propriedades dispostas na cadeia de prototipagem - prototype chain).

In this article

Sintaxe

Object.entries(obj)

Parmetros

obj

O objeto cujos prprios pares [key, value] de propriedades enumerveis devero ser retornados.

Valor de retorno

Uma array de pares [key, value] enumerveis de propriedades de um dado objeto.

Descrio

Object.entries() retorna um array cujos elementos so tambm arrays correspondentes aos pares de propriedades [key, value] enumerveis encontrados diretamente sobre o objeto. A ordem das propriedades a mesma que seria se fossem iteradas as propriedades do objeto manualmente.

Exemplos

js
var obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]

// objeto array-like
var obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]

// objeto array-like com ordenao aleatria de chave (key)
var an_obj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.entries(an_obj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]

// getFoo  uma propriedade que no  enumervel
var my_obj = Object.create(
  {},
  {
    getFoo: {
      value: function () {
        return this.foo;
      },
    },
  },
);
my_obj.foo = "bar";
console.log(Object.entries(my_obj)); // [ ['foo', 'bar'] ]

// argumento no-objeto ser convertido (converso implcita) para um objeto
console.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]

// itera graciosamente atravs de chave-valor (key-value)
var obj = { a: 5, b: 7, c: 9 };
for (var [key, value] of Object.entries(obj)) {
  console.log(key + " " + value); // "a 5", "b 7", "c 9"
}

// Ou, usando array extras
Object.entries(obj).forEach(([key, value]) => {
  console.log(key + " " + value); // "a 5", "b 7", "c 9"
});

Convertendo um Object em um Map

O construtor new Map() aceita entradas iterveis. Com o Object.entries, voc pode facilmente converter de Object para Map:

js
var obj = { foo: "bar", baz: 42 };
var map = new Map(Object.entries(obj));
console.log(map); // Map { foo: "bar", baz: 42 }

Polyfill

Para incluir suporte ao Object.entries em ambientes mais antigos, voc pode achar um Polyfill nos repositrios: tc39/proposal-object-values-entries e es-shims/Object.entries.

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-object.entries

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page