我正在学习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
我错过了什么?
答案 0 :(得分:2)
您的代码问题是getIn(['people', 'country'])
的结果是试图访问country
people
的{{1}}属性,这是一个数组而且没有有一个名为country的属性。似乎想要遍历人并构建他们所在国家/地区的数组,您可以使用map
执行此操作:
var countries = myObj.get('people').map(person => {
return person.country
})
答案 1 :(得分:0)
上一个答案将返回一个数组。如果你真的想要使用Immutable,你应该使用
import { fromJS } from 'Immutable';
const immutableObj = fromJS(myObj);
//map() or forEach() here
var countries = immutableObj.map(person => {
return person.get('country');
})