收藏
回答

es6中find函数,我对result操作,为什么arr会改变呢?

let arr=[
        {id:1,username:"张三",age:18,sex:"男"},
        {id:2,username:"李四",age:18,sex:"男"},
        {id:3,username:"王五",age:45,sex:"男"},
        {id:4,username:"赵六",age:16,sex:"男"}
    ]
    //定义一个新变量result
    let result=arr.find((item)=>{
        return item.id==1;
    })
    //对result的age+1
    result.age += 1
    //为什么arr中的数据会发生改变呢?
    console.log(arr)

我定义了一个新的变量result,并对result进行操作,为什么arr的内容会改变呢?

回答关注问题邀请回答
收藏

2 个回答

  • 老张
    老张
    2019-12-11

    它还就该会改变,JS规定的。

    2019-12-11
    赞同
    回复
  • 龙
    2019-12-11

    建议看一下js的深拷贝与浅拷贝

    2019-12-11
    赞同
    回复
登录 后发表内容
问题标签