2016-05-05 6 views
2

これについてはちょっと混乱していますが、これはうまくいきません。 Immutable.jsで配列内の値を読み取る方法

は、私がこれを持って言う:

不変マップで
const AnObj = Immutable.Map({ 
a : "a", 
b : Immutable.List.of(
    a, 
    b, 
    c, 
    Immutable.Map({ 
    a : "a" 
    }) 
) 
}); 

、我々は対応するプロパティを見つけることがget()内の文字列を使用します。配列の値を読み取るにはどうすればよいですか?

答えて

1

免責条項 - これは、配列だけでなく、すべての変更不可能な型に適用されます。

いくつかの方法 -

  1. get方法 - AnObj.get('b').get(3).get('a')(ありがとう@stas)。 構造があまり深くない場合に便利です。ご覧のとおり、構文は非常に冗長です。

  2. 簡潔getIn - AnObj.getIn(['b', 3, 'a']) このパターンは、一般的なゲッターを持つことができますし、私はさまざまなコンポーネントへの周りのキー・パスを投げることができますので、私はこれが大好きです。

  3. valueSeq/entrySeq

    、あなたはすべての値をしたいし、インデックスのために気にしないとき - AnObj.get('b').valueSeq() リストは巨大であり、あなたがその絶対的に必要になるまで反復を遅らせたいときに便利です。これは、彼らの中で最も優れたものです。

関連する問題