gpt4 book ai didi

javascript - Redux:当从数组中删除特定元素时,它会删除最后一个元素

转载 作者:行者123 更新时间:2023-12-03 03:45:42 25 4
gpt4 key购买 nike

我尝试使用过滤器函数从“state”中删除一个元素,该函数应该从“state”数组中“action.index”指定的索引处删除该元素。然而,它从“状态”数组中删除了最后一个元素,我似乎无法弄清楚它为什么这样做。

/reducer.js

import {
ADD_ITEM,
DELETE_ITEM,
} from './actions';

export default function addItems(state=[], action){
switch (action.type) {
case ADD_ITEM:
return [
...state,
action.item
]
case DELETE_ITEM:
return state.filter((_, i) => i !== action.index);
default:
return state
}
}

编辑

上面的代码工作正常,这是从数组中删除最后一个元素的另一个文件中的问题。

最佳答案

您可以使用splice代替过滤器,这样可以更精确地删除特定索引处的项目。

return state.splice(action.index,1)

第二个参数“1”表示删除从action.index开始的1个项目。

关于javascript - Redux:当从数组中删除特定元素时,它会删除最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45400683/

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