浅克隆中,多维数组克隆后

来源:5-6 深克隆和浅克隆

拜托你去睡觉吧

2020-12-09 18:51:00

arr1[3] == arr2[3] 为何是true

藕断丝连如何理解

        var arr1 = [1, 2, 3, [4, 5, 6]];
        var arr2 = [];
        for (i = 0; i < arr1.length; i++) {
            arr2.push(arr1[i]);
        }
        console.log(arr2);
        console.log(arr1 == arr2); // false
        console.log(arr1[3] == arr2[3]); // true 藕断丝连
写回答

1回答

好帮手慕慕子

2020-12-09

同学你好, 因为引用类型值进行比较的时候,==这种方式比较的是内存地址。在arr2浅克隆arr1时,会直接将arr1中的引用类型(数组[4,5,6])的地址直接交给arr2,也就说arr1和arr2中的数组[4,5,6]是同一个内存地址,所以arr1[3] == arr2[3]的结果返回是true

祝学习愉快~

0

0 学习 · 15276 问题

查看课程

相似问题

浅克隆

回答 1

浅克隆

回答 1

关于浅克隆

回答 1