Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修改贴图内部数组中的对象值_Javascript_Loops_Object_Updates - Fatal编程技术网

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
?您是否正在传递一个不属于
数组
目标
?请提供一个感谢,我尝试过,也得到了同样的结果,这与传递给函数的初始数组有关感谢我尝试过,也得到了同样的结果,这与传递给函数的初始数组有关