javascript中通过Object.assign操作将数组拷贝到对象中(浅拷贝)

例子如下:
//定义目标对象
let obj1={a:1,b:2,c:3};
//定义数据源数组
let arrayList=[{name:'name'},{b:'b'},{'h':'f'];
//数据拷贝
Object.assign(obj1,arrayList);
//输出目标数组结果
console.log('obj1',JSON.stringify(obj1));
结果图如下:


javascript中通过Object.assign操作将数组拷贝到对象中(浅拷贝)_第1张图片
Object的assign操作.png

总结:由以上效果
将数组拷贝到对象中会插入到对象的开始 并且索引位置 从0开始依次
深拷贝示例代码:

// 数组对象深拷贝
export const deepCopy = (source) => {
  if (!source || typeof source !== 'object') {
    throw new Error('error arguments', 'shallowClone')
  }
  const targetObj = source.constructor === Array ? [] : {}
  for (let keys in source) {
    if (source.hasOwnProperty(keys)) {
      if (source[keys] && typeof source[keys] === 'object') {
        targetObj[keys] = deepCopy(source[keys])
      } else {
        targetObj[keys] = source[keys]
      }
    }
  }
  return targetObj
}

你可能感兴趣的:(javascript中通过Object.assign操作将数组拷贝到对象中(浅拷贝))