我向我正在开发的一个使用 React 和 Redux 的项目添加了分页。
当我创建一个新项目时,我希望将其附加到当前列表中,同时删除列表中的最后一个项目;因为每个页面对显示的项目数都有限制。
我想出的解决方案是这样的。
基本上,我想将 1
添加到数组,但也删除 3
;所以新数组将是[1,2]
。
编辑:抱歉,但是如果这是一个 redux reducer ,我必须在一行中完成所有操作,我将如何实现这一点?
const add = 1;
const state = [2,3];
const update = [add, ...state.filter((num, idx) =>{
return idx !== state.length - 1
})]
reducer sample:
return {
...state,
items: [add, ...state.filter((num, idx) =>{
return idx !== state.length - 1
})]
}
我可能想得太多了,而且我感觉有一种更简洁的方式来写这个..
我也不喜欢的是我什至没有使用过滤器中的第一个参数。它就在那里,所以我可以访问索引..
最佳答案
您可以使用slice()
。负结束索引从数组末尾向后计算
const add = 1;
const state = [2,3]
const res = [add, ...state.slice(0,-1)]
console.log(res)
关于javascript - 一种更短/更干净的方法将项目添加到数组的开头,同时还删除最后一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64547110/