解决多层数组深拷贝问题

解决多层数组深拷贝问题

问题场景:数组里面的对象又套了一层数组。
尝试了ES6扩展运算符、slice 方法、concat 方法都不行,还是会影响原数组。

var a=[{
    label:'111',
    children:[{
        id:1
      }]
}]
var b=[...a];
// var b=a.concat()
// var b=a.slice(0)
b[0].children[0].id=2;
console.log(a[0].children[0].id)   //几种方法的输出结果都为:2

解决办法:

 var b=JSON.parse(JSON.stringify(a))   //输出结果为:1

你可能感兴趣的:(前端,javascript,vue.js)