Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Object
  6. Object.entries()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

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 ⁨март 2017 г.⁩.

Object.entries() метод возвращает массив собственных перечисляемых свойств указанного объекта в формате[key, value], в том же порядке, что и в циклеfor...in (разница в том, что for-in перечисляет свойства из цепочки прототипов). Порядок элементов в массиве который возвращаетсяObject.entries() не зависит от того как объект объявлен. Если существует необходимость в определённом порядке, то массив должен быть отсортирован до вызова метода, напримерObject.entries(obj).sort((a, b) => a[0] - b[0]);.

Интерактивный пример

const object1 = {  a: "somestring",  b: 42,};for (const [key, value] of Object.entries(object1)) {  console.log(`${key}: ${value}`);}// Expected output:// "a: somestring"// "b: 42"

Синтаксис

Object.entries(obj)

Параметры

obj

Объект, чьи перечислимые свойства будут возвращены в виде массива[key, value].

Возвращаемое значение

Массив перечислений собственных свойств объекта с парами[key, value].

Описание

Object.entries() возвращает массив, элементами которого являются массивы, соответствующие перечисляемому свойству пары[key, value], найденной прямо вobject. Порядок свойств тот же, что и при прохождении циклом по свойствам объекта вручную.

Примеры

js
var obj = { foo: "bar", baz: 42 };console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]// массив как объектvar obj = { 0: "a", 1: "b", 2: "c" };console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]// массив как объект c random сортировкой ключейvar an_obj = { 100: "a", 2: "b", 7: "c" };console.log(Object.entries(an_obj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]// getFoo is property which isn't enumerablevar my_obj = Object.create(  {},  {    getFoo: {      value: function () {        return this.foo;      },    },  },);my_obj.foo = "bar";console.log(Object.entries(my_obj)); // [ ['foo', 'bar'] ]// non-object argument will be coerced to an objectconsole.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]
// returns an empty array for any primitive type, since primitives have no own propertiesconsole.log(Object.entries(100)); // [ ]// iterate through key-value gracefullyconst obj = { a: 5, b: 7, c: 9 };for (const [key, value] of Object.entries(obj)) {  console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"}// Or, using array extrasObject.entries(obj).forEach(([key, value]) => {  console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"});

ПреобразованиеObject вMap

Конструкторnew Map() принимает повторениезначений. СObject.entries вы легко можете преобразоватьObject вMap:

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

Итерация поObject

Используяметод Разбора Массивов Вы можете легко итерировать объекты.

const obj = { foo: 'bar', baz: 42 };Object.entries(obj).forEach(([key, value]) => console.log(`${key}: ${value}`)); // "foo: bar", "baz: 42"

Полифил

Чтобы добавить поддержкуObject.entries в более старых окружениях, которые не поддерживают его нативно, вы можете найти полифил вtc39/proposal-object-values-entries илиes-shims/Object.entries репозиториях.

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-object.entries

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp