Object.values() — javascript | ВебДоки

Статичний метод Object.values() (значення) повертає масив значень власних перелічуваних властивостей переданого об'єкта, чиїми ключами є рядки.

Спробуйте його в дії

Синтаксис

Object.values(obj)

Параметри

obj

Об'єкт.

Повернене значення

Масив, що містить значення власних перелічуваних властивостей переданого об'єкта, чиїми ключами є рядки.

Опис

Object.values() повертає масив, чиї елементи – значення перелічуваних властивостей, чиїми ключами є рядки та котрі знайдені безпосередньо на object. Це те саме, що ітерувати за допомогою циклу for...in, окрім того, що цикл for...in також перелічує властивості з ланцюжка прототипів. Порядок масиву, поверненого Object.values(), такий самий, як порядок обробки в циклі for...in.

Якщо потрібні ключі властивостей, слід натомість використати Object.keys(). Якщо потрібні як ключі, так і значення, то слід натомість використати Object.entries().

Приклади

Застосування Object.values()

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

// Масивоподібний об'єкт
const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c']

// Масивоподібний об'єкт з випадковим порядком ключів
// При використанні числових ключів значення повертаються згідно з числовим порядком ключів
const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']

// getFoo – неперелічувана властивість
const myObj = Object.create(
  {},
  {
    getFoo: {
      value() {
        return this.foo;
      },
    },
  },
);
myObj.foo = "bar";
console.log(Object.values(myObj)); // ['bar']

Застосування Object.values() на примітивах

Необ'єктні аргументи зводяться до об'єктів. Значення undefined і null не можуть бути зведення до об'єкта та зразу викидають TypeError. Лише рядки можуть мати власні перелічувані властивості, решта ж примітивів – повертає порожній масив.

// Рядки мають індекси за власні перелічувані властивості
console.log(Object.values("foo")); // ['f', 'o', 'o']
// Решта примітивів, крім undefined і null, не має власних властивостей
console.log(Object.values(100)); // []

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

Сумісність із браузерами

desktop mobile server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js

values

Chrome Full support 54 Edge Full support 14 Firefox Full support 47 Internet Explorer No support Ні Opera Full support 41 Safari Full support 10.1 WebView Android Full support 54 Chrome Android Full support 54 Firefox for Android Full support 47 Opera Android Full support 41 Safari on iOS Full support 10.3 Samsung Internet Full support 6.0 Deno Full support 1.0 Node.js Full support 7.0.0

Дивіться також