Javascript 修改贴图内部数组中的对象值
试图修改数组中的对象值,条件是在某些数组中重写不起作用,下面是我的代码段Javascript 修改贴图内部数组中的对象值,javascript,loops,object,updates,Javascript,Loops,Object,Updates,试图修改数组中的对象值,条件是在某些数组中重写不起作用,下面是我的代码段 const removeAction = (target, array, name) => { let mutation = JSON.parse(JSON.stringify(array)); mutation.map( obj => { if(obj.value === target.value) { console.l
const removeAction = (target, array, name) => {
let mutation = JSON.parse(JSON.stringify(array));
mutation.map( obj => {
if(obj.value === target.value) {
console.log(obj)
obj.checked = false
}
return obj
})
console.log(mutation)
removeCallback(mutation, name)
}
我得到数组中的原始对象。如何调试此问题?映射始终返回数组的新实例。因此,要么将经过变异的映射分配给某个变量,要么循环并变异原始数组。映射始终返回数组的新实例。因此,要么将经过修改的映射分配给某个变量,要么循环并修改原始数组。您可以通过对对象和更新的属性进行分解来获取映射对象
const modifiedArray = JSON.parse(JSON.stringify(array)).map(...
const
removeAction = (target, array, name) => {
removeCallback(array.map(obj => ({
...obj,
checked: obj.value === target.value ? false : obj.checked
})), name)
};
可以通过对对象和更新的属性进行分解来获取映射对象
const
removeAction = (target, array, name) => {
removeCallback(array.map(obj => ({
...obj,
checked: obj.value === target.value ? false : obj.checked
})), name)
};
.map
返回数组的修改副本。你从不使用“我得到数组中的原始对象”这个值-在哪里?什么不起作用?您如何称呼它,什么是removeCallback
?您是否正在传递一个不属于数组
的目标
?请提供。map
返回数组的修改副本。你从不使用“我得到数组中的原始对象”这个值-在哪里?什么不起作用?您如何称呼它,什么是removeCallback
?您是否正在传递一个不属于数组
的目标
?请提供一个感谢,我尝试过,也得到了同样的结果,这与传递给函数的初始数组有关感谢我尝试过,也得到了同样的结果,这与传递给函数的初始数组有关