JavaScript简单实现一个深拷贝

JavaScript深拷贝 【JavaScript简单实现一个深拷贝】拷贝之后的数据发生了改变不会影响到被拷贝的数据

// 判断数据是否是一个对象类型 const isObj = (obj) => typeof obj === "object" && obj !== null; const deepClone = (obj) => { // 根据被拷贝的数据类型来创建数据类型 const newObj = obj instanceof Array ? [] : {}; // 进行遍历获取每一次的key for (const item in obj) {// 使用一个临时变量来进行接收 const temp = obj[item]; // 判断临时变量是否是一个对象类型,如果是就继续调用deepClone函数 newObj[item] = isObj(temp) ? deepClone(temp) : temp; } return newObj; }; const arr = [1, 2, 3]; const newArr = deepClone(arr); console.log(arr, newArr); // [1,2,3] [1,2,3]newArr[0] = 0; console.log(arr, newArr); // [1,2,3] [0,2,3]

    推荐阅读