在一个级别上获取多个元素 ImmutableJS
Get multiple Elements on one level ImmutableJS
我有一个对象看起来像
const foo = Immutable.fromJS(
{
90234:
{
bar: 'a'
metaData: { },
comment: 'abc',
photos: [1,2,3,4,5]
}
}
)
如何在 'ImmutableJS'.
的一行中得到 comments
和 photos
foo.get('90234')....?
由于不可变类型将它们的内容封装起来,您不能 "return" 返回两个不同的内容,但是您可以像这样映射键 -
foo.get('90234')
.values()
.map((value, key)=> key=="comments"?doSomething(value): (key=="photos")?doSomethingElse(value):"")
另一种可能性是 return 一个只包含 "comments" 和 "photos" 的新对象,像这样 -
let subSet = foo.get('90234').reduce(
(accumulator, value, key)=>{
if (key == "photos" || key == "comments"){
return accumulator.set(key, value);
}
return accumulator;
},
new Map()
)
我有一个对象看起来像
const foo = Immutable.fromJS(
{
90234:
{
bar: 'a'
metaData: { },
comment: 'abc',
photos: [1,2,3,4,5]
}
}
)
如何在 'ImmutableJS'.
的一行中得到comments
和 photos
foo.get('90234')....?
由于不可变类型将它们的内容封装起来,您不能 "return" 返回两个不同的内容,但是您可以像这样映射键 -
foo.get('90234')
.values()
.map((value, key)=> key=="comments"?doSomething(value): (key=="photos")?doSomethingElse(value):"")
另一种可能性是 return 一个只包含 "comments" 和 "photos" 的新对象,像这样 -
let subSet = foo.get('90234').reduce(
(accumulator, value, key)=>{
if (key == "photos" || key == "comments"){
return accumulator.set(key, value);
}
return accumulator;
},
new Map()
)