一、cloneDeep() (深拷贝)
深拷贝:改变新对象的值,不会影响旧的对象。 浅拷贝:直接赋值,新的值得变化会造成旧的对象的值的改变。
方法一:JSON
let newObj = JSON.parse(JSON.Stringify(obj))
方法二:lodash
// 官网建议定义为 _import _ from 'lodash'const form = _.cloneDeep(this.addForm)form.goods_cat = form.goods_cat.join(',')
二、merge() (合并数组)
var arr = { first: 'one', second: 'two', third: 'three', forth: 'four' }var newarr = { fifth: 'five', second: 'seven' }const result = _.merge(arr, newarr)console.log(result)//结果:{ first: 'one', second: 'seven', third: 'three', forth: 'four', fifth: 'five' }
