このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Object.values()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年3月.
Object.values() は静的メソッドで、指定されたオブジェクトが持つ列挙可能なプロパティの文字列キーのプロパティ値を配列で返します。
In this article
試してみましょう
const object = { a: "some string", b: 42, c: false,};console.log(Object.values(object));// 予想される結果: Array ["somestring", 42, false]構文
js
Object.values(obj)引数
objオブジェクト。
返値
指定されたオブジェクトが持つ列挙可能なプロパティの文字列キーのプロパティ値を配列で返します。
解説
Object.values() はobject に直接得られる文字列キーのプロパティを列挙した配列の値を返します。これはfor...in ループで反復処理するのと同じですが、for...in ループではプロトタイプチェーンのプロパティも列挙されます。Object.values() が返す配列の順序は、for...in ループで指定された順序と同じです。
プロパティキーが必要な場合は、代わりにObject.keys() を使用します。プロパティのキーと値の両方が必要な場合は、代わりにObject.entries() を使用します。
例
>Object.values の使用
js
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 が発生します。文字列のみが自分自身で列挙可能なプロパティを持つことができ、 他のプリミティブはすべて空の配列を返します。
js
// オブジェクトでない引数はオブジェクトへと型強制されるconsole.log(Object.values("foo")); // ['f', 'o', 'o']// undefined と null 以外のプリミティブは、自分自身でプロパティを持つことはないconsole.log(Object.values(100)); // []仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-object.values> |