Object.values()
Статичний метод 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 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 |