vue複製物件

清風H_F發表於2019-04-19
/** 判斷值是否存在 */
isNotExists (value) {
  return value === undefined || value === null || value === '' || value === 'undefined'
},
// 物件複製 name為空時obj1複製到obj2 不為空則在obj2中的名字為 name + 原物件名字首字母大寫命名
copyObject (obj1, obj2, name) {
  for (var p in obj1) {
    if (this.isNotExists(name)) {
      // name為空時obj1複製到obj2
      if (obj1.hasOwnProperty(p) && !obj2.hasOwnProperty(p)) {
        obj2[p] = obj1[p]
      }
    } else {
      // obj2 不為空則在obj2中的名字為 name + 原物件名字首字母大寫命名
      let _p = p.toLowerCase()
      _p = _p.replace(/\b\w+\b/g, function (word) {
        return word.substring(0, 1).toUpperCase() + word.substring(1)
      })
      if (obj1.hasOwnProperty(p) && !obj2.hasOwnProperty(p)) {
        obj2[name + _p] = obj1[p]
      }
    }
  }
  return obj2
}

 

相關文章