如何使用 immutablejs 映射删除一个元素。这是我的代码。
const initialState = Map({
job: [
{text: 'a'},
{text: 'b'}
]
});
const newState = initialState.delete({job: [text: 'a']});
但这不起作用。尝试了不同的方法,但没能成功。
最佳答案
您可以使用deleteIn以及用于删除可归咎映射的深层属性的属性映射。
const initialState = Immutable.fromJS({
job: [
{text: 'a'},
{text: 'b'}
]
})
console.log(initialState.toJS());
const newState = initialState.deleteIn(["job","0"])
console.log(initialState.toJS());
console.log(newState.toJS());
您也可以使用 Lodash _.toPath将点表示法的字符串路径转换为属性路径数组的方法
const path = _.toPath("job[0].text") //["job", "0", "text"]
const value = initialState.getIn(path) //a
关于javascript - 从 Map immutable.js 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32847385/