遍历过程中向数组里增添对象,为什么增加的对象却是最后一次遍历的结果

如题

clipboard.png

console.log(arr)结果

clipboard.png

在遍历中 console.log( obj )

clipboard.png

阅读 743
评论
    5 个回答

    对象是引用类型,赋值的时候只是赋值了地址,所以你数组里4个对象都是同一个地址,即同一个对象

    你可以这样修改

    const obj = {id: 0}
    const arr = []
    for (let i = 0; i < 4; i++) {
        obj.id++
        arr.push(JSON.parse(JSON.stringify(obj)))
    }
    console.log(arr)

    另外 像提这种问题不要用图片 建议用markdown语法 这样别人就能直接复制使用你的代码来修改 而不用重新手输一遍

      相似问题
      推荐文章