Javascript вывести все значения объекта

Перебор объекта в JavaScript

В этом посте мы рассмотрим как в JS перебрать объект с помощью цикла и методов. Методы перебора массива мы рассматривали в этой статье.

Мы рассмотрим следующие варианты:

  • for in — цикл по объекту. Можно получить и ключ и значение.
  • Object.entries() — метод, возвращающий массив пар Javascript вывести все значения объекта
  • Object.keys() — метод, который возвращает массив ключей Javascript вывести все значения объекта
  • Object.values() — метод, который возвращает массив значений [value1, value2]

For … in

Начнем с простого примера, допустим у нас есть объект user

Если мы знаем все свойства этого объекта, то мы могли бы их просто вывести так:

console.log(user.name); console.log(user.age); // и т.д.

Но что, если мы не знаем сколько у него сейчас свойств и какие свойства есть, а нам нужно их все отобразить. В данном случае нам и понадобиться цикл для прохода по этому объекту

for (let key in user) < console.log(key + ' - ' + userJavascript вывести все значения объекта); >// В консоли мы увидим следующее: // name - John // age - 30 // position - manager // salary - 5000

В переменную key мы получаем на каждой итерации ключ, а для того чтобы получить значение по данному ключу, мы используем userJavascript вывести все значения объекта .

Читайте также:  Java stream api массивы

Обратите внимание, что мы не можем написать просто user.key , т.к. у нашего объекта нет такого свойства, key — это переменная, которую мы задали для прохода по объекту в цикле (кстати, мы также можем сделать ее const вместо let , это не имеет значения). Поэтому мы обращаемся именно через квадратные скобки []

В другом примере, рассмотрим вариант когда нам те же данные нужно вывести и добавить к определeнному div

Еще пару моментов, которые касаются этого цикла. Первое, сортировка ключей происходит в порядке их добавления, если ключи это обычные строки. Если ключи это числа (не важно 9 или «9»), тогда они будут выводиться в порядке возрастания. Допустим, есть объект с постами, где ключ это id поста:

const posts = < 2: 'Второй пост', 3: 'Третий пост', 1: 'Первый пост' >console.log(posts); //

Так часто приходится делать в случае, когда вам нужно будет вытащить пост по ID, это будет быстрее чем перебирать весь массив постов.

Второй нюанс, это то что данный цикл перебирает все свойства в цепочке Prototype:

const user = < name: 'John', age: 30 >const user1 = < lastName: 'Doe', role: 'admin' >user1.__proto__ = user; for (let key in user1) < console.log(key); >// Результат в консоли // lasName, role, name, age

Для того, чтобы вывести только свойства конкретного объекта, вам придется воспользоваться методом hasOwnProperty (более детально об этом методе), чтобы убедиться что данное свойство принадлежит только итерируемому объекту:

for (let key in user1) < if (user1.hasOwnProperty(key)) < console.log(key); >> // lastName, role

Object.entries() — пара ключ значение из объекта

Данный метод вернет массив, где каждый элемент массива будет парой [ключ, значение]

const user = < name: 'John', age: 30, role: 'Administrator' >const objEntries = Object.entries(user); console.log(objEntries); // [ ['name', 'John'], ['age', 30], ['role', 'Administrator'] ]

Важно, обратите внимание на вызов данного метода. Нельзя просто написать user.entries()

Из нашего примера видно, что в переменной objEntries будет массив состоящий из 3 других массивов. Дальше в зависимости от того, что вам нужно в результате, вы можете воспользоваться методами массивов.

Object.keys() — получаем ключи из объекта

Данный метод возвращает массив ключей объекта. Если рассмотреть на том же примере с объектом user, то получим:

const objKeys = Object.keys(user); console.log(objKeys); // [ 'name', 'age', 'role' ]

Данный метод можно использовать для определения количества элементов в объекте:

console.log(Object.keys(user).length); // 3

Это упрощенная версия, более детально как проверить количество элементов в объекте или проверить объект на пустоту можете ознакомиться по ссылке.

Object.values() — получаем массив значений из объекта

Как вы уже наверное догадались, данный метод возвращает массив со значениями:

const user = < name: 'John', age: 30, role: 'Administrator' >const objValues = Object.values(user); console.log(objValues); // [ 'John', 30, 'Administrator' ]

Тут думаю ничего сложного, но если остались вопросы пишите в комментариях.

Ваши вопросы и комментарии:

Свежие записи

Копирование материалов разрешено только с ссылкой на источник Web-Dev.guru
2023 © Все права защищены.

Источник

Object.values()

The Object.values() static method returns an array of a given object’s own enumerable string-keyed property values.

Try it

Syntax

Parameters

Return value

An array containing the given object’s own enumerable string-keyed property values.

Description

Object.values() returns an array whose elements are values of enumerable string-keyed properties found directly upon object . This is the same as iterating with a for. in loop, except that a for. in loop enumerates properties in the prototype chain as well. The order of the array returned by Object.values() is the same as that provided by a for. in loop.

If you need the property keys, use Object.keys() instead. If you need both the property keys and values, use Object.entries() instead.

Examples

Using Object.values()

const obj =  foo: "bar", baz: 42 >; console.log(Object.values(obj)); // ['bar', 42] // Array-like object const arrayLikeObj1 =  0: "a", 1: "b", 2: "c" >; console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c'] // Array-like object with random key ordering // When using numeric keys, the values are returned in the keys' numerical order const arrayLikeObj2 =  100: "a", 2: "b", 7: "c" >; console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a'] // getFoo is a non-enumerable property const myObj = Object.create( >,  getFoo:  value()  return this.foo; >, >, >, ); myObj.foo = "bar"; console.log(Object.values(myObj)); // ['bar'] 

Using Object.values() on primitives

Non-object arguments are coerced to objects. Only strings may have own enumerable properties, while all other primitives return an empty array.

// Strings have indices as enumerable own properties console.log(Object.values("foo")); // ['f', 'o', 'o'] // Other primitives have no own properties console.log(Object.values(100)); // [] 

Specifications

Browser compatibility

BCD tables only load in the browser

See also

Found a content problem with this page?

This page was last modified on Mar 26, 2023 by MDN contributors.

Your blueprint for a better internet.

Источник

JavaScript Отображение объекта

Отображение JavaScript объекта приведет к выводу [object Object].

Пример

Вот некоторые распространенные решения для отображения JavaScript объектов:

  • Отображение свойств объекта по имени
  • Отображение свойств объекта в цикле
  • Отображение объекта с помощью Object.values()
  • Отображение объекта с помощью JSON.stringify()

Отображение свойств объекта

Свойства объекта можно отобразить в виде строки:

Пример

document.getElementById(«demo»).innerHTML =
person.name + «,» + person.age + «,» + person.city;

Отображение свойств объекта в цикле

Свойства объекта можно собрать с помощью цикла:

Пример

for (x in person) txt += person[x] + » «;
>;

Вы должны использовать в цикле person[x].

А не person.x он не будет работать (потому что x — переменная).

Использование Object.values()

Любой JavaScript объект можно преобразовать в массив, используя метод Object.values() :

var myArray = Object.values(person);

Переменная myArray , теперь представляет собой как JavaScript массив, готовый к отображению:

Пример

var myArray = Object.values(person);
document.getElementById(«demo»).innerHTML = myArray;

Метод Object.values() поддерживается во всех основных браузерах с 2016 года.

Использование JSON.stringify()

Любой JavaScript объект можно преобразовать в строку с помощью JavaScript функции JSON.stringify() :

var myString = JSON.stringify(person);

Переменная myString , теперь является JavaScript строкой, готовой к отображению:

Пример

var myString = JSON.stringify(person);
document.getElementById(«demo»).innerHTML = myString;

Результатом будет строка в формате JSON:

Метод JSON.stringify() включен в JavaScript и поддерживается всеми основными браузерами.

Строка даты

Метод JSON.stringify преобразует даты в строки:

Пример

var myString = JSON.stringify(person);
document.getElementById(«demo»).innerHTML = myString;

Строка функции

Метод JSON.stringify не будет связывать функции:

Пример

var myString = JSON.stringify(person);
document.getElementById(«demo»).innerHTML = myString;

Это можно «исправить», если перед преобразованием функций в строки вы преобразовываете их в строки.

Пример

var myString = JSON.stringify(person);
document.getElementById(«demo»).innerHTML = myString;

Строка массива

Также возможно структурировать JavaScript массивы:

Пример

var arr = [«Андрей», «Татьяна», «Кристина», «Тимур»];

var myString = JSON.stringify(arr);
document.getElementById(«demo»).innerHTML = myString;

Результатом будет строка в формате JSON:

Мы только что запустили
SchoolsW3 видео

ВЫБОР ЦВЕТА

colorpicker

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:

Ваше предложение:

Спасибо Вам за то, что помогаете!

Ваше сообщение было отправлено в SchoolsW3.

ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат

SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.

Источник

Оцените статью