[英]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'])
的結果試圖訪問people
的country
屬性,該屬性是一個數組,沒有名為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.