一、cloneDeep() (深拷贝)

深拷贝:改变新对象的值,不会影响旧的对象。 浅拷贝:直接赋值,新的值得变化会造成旧的对象的值的改变。

方法一:JSON

  1. let newObj = JSON.parse(JSON.Stringify(obj))

方法二:lodash

  1. // 官网建议定义为 _
  2. import _ from 'lodash'
  3. const form = _.cloneDeep(this.addForm)
  4. form.goods_cat = form.goods_cat.join(',')

二、merge() (合并数组)

  1. var arr = { first: 'one', second: 'two', third: 'three', forth: 'four' }
  2. var newarr = { fifth: 'five', second: 'seven' }
  3. const result = _.merge(arr, newarr)
  4. console.log(result)
  5. //结果:{ first: 'one', second: 'seven', third: 'three', forth: 'four', fifth: 'five' }