gpt4 book ai didi

javascript - array.filter 不从数组中删除值

转载 作者:行者123 更新时间:2023-11-30 11:36:17 24 4
gpt4 key购买 nike

我的操作将 id、文本和类型发送到我的 reducer,但我的 achievements 数组保持不变:

case REMOVE_ACHIEVEMENT:
return state.map(item => {
if (item.id === action.id) {
return Object.assign({}, item, {
achievements: [
...item.achievements.filter(achievement => achievement !== action.id.text)
]
});
}

return item;
});

enter image description here

示例对象:

  {
date: "Sat 2nd",
enjoyments: ['Football', 'Rugby'],
achievements: ['Tennis', 'Football'],
id: 1
},

我想从数组中删除项目 Tennis,有什么想法吗?

最佳答案

case REMOVE_ACHIEVEMENT:
return state.map(item => {
if (item.id === action.id) {
return Object.assign({}, item, {
achievements: item.achievements.filter(val => val !== action.id.text)
});
}

return item;
});

不需要使用扩展运算符,因为过滤器会返回一个没有过滤项目的新数组。

编辑正如@mhodges 所指出的,正确的描述方式是spread syntax 而不是spread operator

关于javascript - array.filter 不从数组中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44294426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com