关于#javascript#的问题:我用一个数组包裹一个对象,然后通过数组下标或者splice方法修改了这个数组对应的对象为啥我修改前后log的都是修改后的值呀

let obj={
            name:"1",
            age:2
        }
        let arr=[1,obj,3,4,5]
        console.log(arr);
        arr[1]={aaaa:'qqq'}
        console.log(arr);

我用一个数组包裹一个对象,然后通过数组下标或者splice方法修改了这个数组对应的对象为啥我修改前后log的都是修改后的值呀?

img

console. log的输出是动态变化的,如果想对比可以使用json. stringfiy转为字符串再输出


let obj={
            name:"1",
            age:2
        }
        let arr=[1,obj,3,4,5]
        console.log(arr[1],arr);
        arr[1]={aaaa:'qqq'}
        console.log(arr[1],arr)

img