← 返回首页
Object.values() - JavaScript | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Object.values()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年3月以降、すべてのブラウザーで利用可能です。

Object.values() は静的メソッドで、指定されたオブジェクトが持つ列挙可能なプロパティの文字列キーのプロパティ値を配列で返します。

目次

試してみましょう

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() を使用

オブジェクト以外の引数はオブジェクトに変換されます。 undefinednull はオブジェクトに強制できず、 TypeError が発生します。文字列のみが自分自身で列挙可能なプロパティを持つことができ、 他のプリミティブはすべて空の配列を返します。

js
// オブジェクトでない引数はオブジェクトへと型強制される console.log(Object.values("foo")); // ['f', 'o', 'o'] // undefined と null 以外のプリミティブは、自分自身でプロパティを持つことはない console.log(Object.values(100)); // []

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-object.values

ブラウザーの互換性

ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。

関連情報