vue 深拷貝對象


復制數組而不指向同一個對象(深拷貝)

const _ = require('lodash');

let one_brand = [
    {name: 'A', count: 1, value: Infinity},
    {name: 'B', count: 2},
]

// 深拷貝
// 方法一
let two_brand = one_brand.map(o => Object.assign({}, o));
// 方法二
let two_brand = one_brand.map(o => ({...o}));
// 方法三(推薦)
let two_brand = _.cloneDeep(one_brand);

 

//該方法僅限於可被JSON.stringify解析的對象。

let newarr = JSON.parse(JSON.stringify(arr));

 

復制數組,數組為另一個對象,但數組內的元素仍然指向同個對象

方法一:

let newarr = arr.slice(0);

方法二:

let newarr = {...arr};

 

復制且指向同一個對象(淺拷貝)

let newarr = arr;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM