簡體   English   中英

訪問嵌套的不可變地圖屬性

[英]Access nested Immutable Map property

我正在學習Immutable.js。 我有一個對象,當被調用時:

myObj.get('people')

返回以下內容:

[
  {
    "name": "John Stevenson",
    "country": "Sweden"
  },
  {
    "name": "John Silva",
    "country": "Colombia"
  },
  {
    "name": "John Van der Bier",
    "country": "Holland"
  },
  {
    "name": "John McDonald",
    "country": "Scotland"
  }
]

我試圖進入這個對象,所以我只能看到country

myObj.getIn(['people', 'country']) // undefined

我想念什么?

您的代碼存在問題,就是getIn(['people', 'country'])的結果試圖訪問peoplecountry屬性,該屬性是一個數組,沒有名為country的屬性。 似乎想繞過人們並建立他們的國家/地區陣列,您可以使用map

var countries = myObj.get('people').map(person => {
    return person.country
})

先前的答案將返回一個數組。 如果您確實要使用不可變,則應使用

import { fromJS } from 'Immutable';
const immutableObj = fromJS(myObj);

//map() or forEach() here
var countries = immutableObj.map(person => {
    return person.get('country');
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM