美文网首页
关于JS数组和对象的深拷贝

关于JS数组和对象的深拷贝

作者: 以前以后_46f7 | 来源:发表于2018-11-09 16:37 被阅读0次

    数组的浅拷贝:

    var arr = [1,2,3];

    var newArr = arr;

    newArr[0] = 4;

    console.log(arr + ‘##’ + newArr); //输出[4,2,3]和[4,2,3]

    解释:这种方式实际上只是新数组对原数组的一个引用,更改数组元素会对原数组产生影响,称为浅拷贝(也就是C语言中的按址传递,arr和newArr都是保存的同一个数组地址)

    数组的深拷贝:

    最简单的方式

    JSON.stringify()之后再JSON.parse();

    示例:

    var arr = [1,2,3];

    var newArr = JSON.parse(JSON.stringify(arr));

    newArr[0] = 4;

    console.log(arr + ‘##’ + newArr); //输出[1,2,3]和[4,2,3]

    解释:无须解释!!!

    相关文章

      网友评论

          本文标题:关于JS数组和对象的深拷贝

          本文链接:https://www.haomeiwen.com/subject/qkpyxqtx.html