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 July 2015.

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

試してみましょう

const object1 = {
  a: "somestring",
  b: 42,
  c: false,
};

console.log(Object.values(object1));
// Expected output: 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)); // []

仕様書

Specification
ECMAScript® 2025 Language Specification
# sec-object.values

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
values

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報