一、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' }