Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Object.entries()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since março de 2017.
Experimental:Esta é umatecnologia experimental
Verifique atabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.
O métodoObject.entries() retorna uma array dos próprios pares[key, value] enumeráveis de um dado objeto, na mesma ordem dos objetos providos através do loopfor...in (sendo a diferença que o for-in loop enumera também propriedades dispostas na cadeia de prototipagem -prototype chain).
In this article
Sintaxe
Object.entries(obj)
Parâmetros
objO objeto cujos próprios pares
[key, value]de propriedades enumeráveis deverão ser retornados.
Valor de retorno
Uma array de pares[key, value] enumeráveis de propriedades de um dado objeto.
Descrição
Object.entries() retorna um array cujos elementos são também arrays correspondentes aos pares de propriedades[key, value] enumeráveis encontrados diretamente sobre o objeto. A ordem das propriedades é a mesma que seria se fossem iteradas as propriedades do objeto manualmente.
Exemplos
var obj = { foo: "bar", baz: 42 };console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]// objeto array-likevar obj = { 0: "a", 1: "b", 2: "c" };console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]// objeto array-like com ordenação aleatória 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 não é enumerávelvar my_obj = Object.create( {}, { getFoo: { value: function () { return this.foo; }, }, },);my_obj.foo = "bar";console.log(Object.entries(my_obj)); // [ ['foo', 'bar'] ]// argumento não-objeto será convertido (conversão implícita) para um objetoconsole.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]// itera graciosamente através 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 extrasObject.entries(obj).forEach(([key, value]) => { console.log(key + " " + value); // "a 5", "b 7", "c 9"});Convertendo umObject em umMap
O construtornew Map() aceita entradas iteráveis. Com oObject.entries, você pode facilmente converter deObject paraMap:
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 aoObject.entries em ambientes mais antigos, você pode achar um Polyfill nos repositórios:tc39/proposal-object-values-entries ees-shims/Object.entries.
Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.entries> |