我有一个不可变的 JS 映射,其结构如下
{
"a": [
{"name": "foo", "untracked": true},
{"name": "bar"}
],
"b": [
{"name": "baz"},
{"name": "bar", "untracked": true}
]
}
我想过滤此对象以仅显示被跟踪的对象 - 即
{
"a": [
{"name": "bar"}
],
"b": [
{"name": "baz"},
]
}
有没有办法通过不可变的映射操作来做到这一点?我尝试了以下方法,但似乎不起作用
object.map((lis) => lis.filter((li) => li.untracked !== true)).toJS()
object.toList().map((lis) => lis.filter((li) => li.untracked !== true))
最佳答案
let data={
"a": [
{"name": "foo", "untracked": true},
{"name": "bar"}
],
"b": [
{"name": "baz"},
{"name": "bar", "untracked": true}
]
}
Object.entries(data).map(([key, value]) => {
data[key]=value.filter(ele=>ele.untracked!=true)
});
console.log("result is : ",data)
关于javascript - 对不可变的 JS Map 对象执行删除操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53397409/