19
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Object.values/Object.entries

Last updated at Posted at 2015-11-30

はじめに

JavaScript stage 0,1,2,3 Advent Calendar 2015の記事です。

tc39/proposal-object-values-entriesについて書きます。

Object.values/Object.entriesとは?

TC39に提案中のJavaScriptの新文法です。
現在はFirefoxのNightlyビルドにのみ実装されています。

JSONデータを処理する時など、Objectの値を列挙したいことがあります。
この時に使うメソッドです。

今回、対象とするオブジェクト

var obj = {
  a : "alpha",
  b : "bravo"
}

ES5では

Object.keysを使います。

例えば

Object
  .keys(obj)
  .forEach(function(key){
    console.log(obj[key])
  })

ES2015では

ES2015ではfor ofが追加されました。

しかしobject自体は反復処理可能ではありません。
そこで、Object.keysでキーの配列が取得できます。
for-of中でobjから値を取り出します。

for(var key of Object.keys(obj)){
  console.log(obj[key])
}

できれば、objの値を列挙したいです。

ESNext

そこでObject.valuesです。もうちょっと直感的な書き方ができます。

for(var val of Object.values(obj)){
  console.log(val)
}

Object.entriesはキーと値を両方返します。

for(var [key, val] of Object.entries(obj)){
  console.log(key, val)
}
19
18
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?