美文网首页
对象数组的深拷贝

对象数组的深拷贝

作者: 无名程序猿 | 来源:发表于2019-10-24 16:36 被阅读0次
  • 上代码
const extensions = [
  {
    key: 'resourceTab',
    name: '会议资料',
    module: 'conference_resource',
    icon: 'data',
    id: 0
  },
  {
    key: 'agendTab',
    name: '会议议程',
    module: 'conference_agenda',
    icon: 'ex-agenda',
    id: 1
  },
  {
    key: 'serviceTab',
    name: '会议服务',
    module: 'conference_service',
    icon: 'ex-service',
    id: 2
  },
  {
    key: 'seatingTab',
    name: '座位编排',
    module: 'seating',
    icon: 'ex-seat',
    id: 3
  }
];
const objDeepCopy = function(source) {
  var sourceCopy = source instanceof Array ? [] : {};
  for (var item in source) {
    sourceCopy[item] =
      typeof source[item] === 'object'
        ? objDeepCopy(source[item])
        : source[item];
  }
  return sourceCopy;
};

const extendsList = objDeepCopy(extensions);
extendsList.map(item => {
  switch (item.key) {
    case 'resourceTab':
      item.name = '资料';
      break;
    case 'agendTab':
      item.name = '议程';
      break;
    case 'serviceTab':
      item.name = '服务';
      break;
    case 'seatingTab':
      item.name = '排座';
      break;
  }
});

相关文章

  • Javascript深拷贝

    什么是深拷贝 创建一个新的对象或数组时,将原对象/数组的“值”拷贝,而不是“引用”。 深拷贝 数组拷贝不存在多层嵌...

  • 2018-05-22

    数组与对象的深拷贝

  • C++封装(二)

    第2章 对象成员与对象数组 第3章 深拷贝与浅拷贝 浅拷贝: 深拷贝: 第4章 对象指针 对象指针: 栈中: 对象...

  • OC 数组mutableCopy能不能把数组里边的对象深拷贝?

    一. 数组深拷贝,数组中对象不实现NSCopying协议 Person类 使用 结果: 从结果来看虽然数组是深拷贝...

  • js深拷贝和浅拷贝区别

    浅拷贝和深拷贝的区别 1.浅拷贝:将源对象或者原数组的引用 ```直接赋给``` 新对象/新数组 ,新对象/新...

  • 深浅拷贝

    浅拷贝将原对象/原数组的引用直接赋值给新对象/新数组,新对象/新数组只是原对象/原数组的一个引用。 深拷贝将原对象...

  • 浅拷贝与深拷贝

    /*浅拷贝:拷贝地址*/ /*深拷贝:拷贝对象*/ 用Strong修饰不可变数组:浅拷贝 用Copy修饰不可变数组...

  • 深拷贝和浅拷贝

    1. 深拷贝和浅拷贝 1.浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组,新对象/数组只是原对象的一个引用...

  • 关于OC中数组的深、浅拷贝的小总结

    简而言之:数组的深拷贝,仅仅只是拷贝数组的内容,数组内元素的地址不会变,如果想要数组内的对象元素也深拷贝,则数组内...

  • js数组中常用方法详解(ES5)

    1.concat();合并数组,返回合并后的数组 ---不包含对象的数组的深拷贝;对象数组的浅拷贝(详见下一篇...

网友评论

      本文标题:对象数组的深拷贝

      本文链接:https://www.haomeiwen.com/subject/crddvctx.html