我有一个看起来像的物体
const foo = Immutable.fromJS(
{
90234:
{
bar: 'a'
metaData: { },
comment: 'abc',
photos: [1,2,3,4,5]
}
}
)
如何使用'ImmutableJS'在同一行中获得comments
和photos
。
foo.get('90234')....?
答案 0 :(得分:0)
当不可变类型将其内容装箱时,您不能“返回”两个不同的内容,但是可以像这样映射键-
foo.get('90234')
.values()
.map((value, key)=> key=="comments"?doSomething(value): (key=="photos")?doSomethingElse(value):"")
另一种可能性是返回一个仅包含“评论”和“照片”的新对象,像这样-
let subSet = foo.get('90234').reduce(
(accumulator, value, key)=>{
if (key == "photos" || key == "comments"){
return accumulator.set(key, value);
}
return accumulator;
},
new Map()
)