我有一个带有对象和数字以及运算符的元素数组
例如:let a =[‘(‘,’2’,{}]
对象通过redux动作插入数组,数字和运算符通过键盘插入。
现在,每当我要删除对象9时,我都会调用另一个redux动作。每当我尝试通过该动作删除对象时,整个数组都会被删除。
如何仅从数组中删除对象?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以过滤没有对象的数组
const deleteObject = (array) =>{
return array.filter(e => typeof(e) !== "Object")
}
您的操作必须调用deleteObject函数
答案 2 :(得分:0)
首先记住不要改变状态。
第二,我认为您可能要防止对数组中不存在的其他任何键调度操作,并使用后退键来调度DELETE_ACTION
。
// your insert action
dispatch({ type: 'INCERT_ACTION', payload: ObjOrString })
// your delete actions
dispatch({ type: 'DELETE_ACTION', payload: ObjOrString })
// your reducer to handle that action
function yourReducer(state = [], action) {
switch (action.type) {
case 'INCERT_ACTION':
return [...state, action.payload];
case 'DELETE_ACTION':
return state.filter(e => (typeof(e) !== "Object" && whate_ever_condition))
default:
return state
}
}