1. ホーム
  2. javascript

[解決済み] Object.values()の代替バージョン

2023-06-18 07:02:46

質問

の代替バージョンを探しています。 Object.values() 関数の代替バージョンを探しています。

として に記載されている の機能は、Internet Explorer ではサポートされていません。

以下のサンプルコードを実行した場合。

var obj = { foo: 'bar', baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

FirefoxとChromeの両方で動作しますが、IE11では以下のエラーが発生します。

オブジェクトはプロパティまたはメソッド "values"をサポートしていません。

ここで、テストしてみましょう。 フィドル .

では、手っ取り早く解決するにはどうしたらいいのでしょうか?

どのように解決するのか?

キーの配列を取得するには Object.keys() で、次に map() を使って値を取得します。

var obj = { foo: 'bar', baz: 42 };
var values = Object.keys(obj).map(function(e) {
  return obj[e]
})

console.log(values)

ES6ではarrow-functionsを使って1行で書くことができます。

var values = Object.keys(obj).map(e => obj[e])