ディープオブジェクトの配列をコピーします

オブジェクトのディープコピー

  1. プロパティ値は、オブジェクトへのオブジェクト参照ではない場合
Object.assign
function (obj){
let newObj={}
for(var key in obj){
newObj[key]=obj[key]
}
return newObj;
}

2.オブジェクトがある場合でも、オブジェクトのプロパティとすることができます

function deepCopy(obj){
let newObj={}
for(var key in obj){
if(Object.prototype.toString.call(obj[key]) === "[object Object]"){
deepCopy(obj[key])
}else{
newObj[key]=obj[key]
}
return newObj
}

オブジェクトのディープコピー

  1. コピーサイクル
var arr = [1,2,3,4,5]
var arr2 = copyArr(arr)
function copyArr(arr) {
    let res = []
    for (let i = 0; i < arr.length; i++) {
     res.push(arr[i])
    }
    return res
}

2.concat方法

var arr = [1,2,3,4,5]
var arr2 = arr.concat()
arr[2] = 5
console.log(arr)
console.log(arr2)

おすすめ

転載: www.cnblogs.com/shiazhen/p/12384330.html