Метод Object.values()
вертає масив значень всіх особистих (не успадкованих) перелічуваних властивостей переданого об'єкта. Порядок властивостей в масиві є тим самим, що й у циклі for...in
(різниця лише в тому, що цикл обходить також і властивості прототипу).
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
Object.values(obj)
Параметри
obj
- Об'єкт, значення властивостей якого треба отримати.
Повертає
Масив значень всіх особистих властивостей переданого об'єкта.
Опис
Object.values()
повертає масив значень властивостей, які належать безпосередньо об'єктові obj
. Порядок отриманих властивостей збігається із тим, що його забезпечує перебір через for...in
.
Приклади
var obj = { foo: 'bar', baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]
// подібний до масиву об'єкт
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.values(obj)); // ['a', 'b', 'c']
// подібний до масиву об'єкт з випадковим порядком ключів
var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.values(an_obj)); // ['b', 'c', 'a']
// властивість getFoo є неперелічуваною
var my_obj = Object.create({}, { getFoo: { value: function() { return this.foo; } } });
my_obj.foo = 'bar';
console.log(Object.values(my_obj)); // ['bar']
// аргументи, що не є об'єктами, буде перетворені на об'єкти
console.log(Object.values('foo')); // виводить ['f', 'o', 'o']
Запасний варіант (поліфіл)
Для старіших середовищ, де метод Object.values()
відсутній, можна скористатися запасним варіантом з репозиторіїв tc39/proposal-object-values-entries або es-shims/Object.values.
Специфікації
Специфікація | Статус | Коментар |
---|---|---|
ECMAScript (ECMA-262) The definition of 'Object.values' in that specification. |
Living Standard | |
ECMAScript 2017 (ECMA-262) The definition of 'Object.values' in that specification. |
Standard | Первинне визначення. |
Підтримка веб-переглядачами
BCD tables only load in the browser