文档章节

table的浅复制和深复制方法

1
 13725190297
发布于 2016/05/16 23:31
字数 108
阅读 5
收藏 0

在日常开发中,复制table是不可避免的,这里提供两个方法用于浅复制和深复制。

-- 浅复制
function tableplus.shallowcopy(t)
    local nt = {}
    tableplus.foreach(t, function(k, v)
        rawset(nt, k, v)
    end)
    return nt
end

-- 深复制
function tableplus.deepcopy(t, needMetaTable)
    local nt = {}
    tableplus.foreach(t, function(k, v)
        if type(v) == "table" then
            rawset(nt, k, tableplus.deepcopy(v, needMetaTable))
        else
            rawset(nt, k, v)
        end
    end)
    setmetatable(nt, needMetaTable and getmetatable(t) or nil)
    return nt
end

 

© 著作权归作者所有

共有 人打赏支持
下一篇: 打印table
1
粉丝 0
博文 4
码字总数 647
作品 0
广州
后端工程师
私信 提问
2018-01-06 关于javascript的深拷贝浅拷贝 思考

目录: 什么是复制? 一个简单的浅复制 一个深复制的例子 普遍的深浅复制的几种实现方法 深拷贝,浅拷贝 什么是复制? 下面是一个简单的浅复制 var shallowObj = shallowCopy(obj); function ...

_panda
2018/01/06
0
0
python深拷贝和浅拷贝的区别

浅拷贝就比如像引用类型,而深拷贝就比如值类型。 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,...

shujuliu
2017/05/19
0
0
MutableCopy & copy

分别遵守<NSCopying>和 <NSMutableCopying>协议,http://blog.csdn.net/tskyfree/article/details/7999620 首先了解深复制,浅复制: 浅复制和深复制是对于包含对象成员的对象而言的。 浅复制:...

AmoyAI
2012/12/11
0
0
也来谈一谈js的浅复制和深复制

1.浅复制VS深复制 本文中的复制也可以称为拷贝,在本文中认为复制和拷贝是相同的意思。另外,本文只讨论js中复杂数据类型的复制问题(Object,Array等),不讨论基本数据类型(null,undefine...

bothyan
2018/08/11
0
0
JavaScript里的深浅拷贝

由于js里的数据类型分为简单类型和引用类型,所以在引用类型的复制问题上出现了深浅复制的问题。深复制和浅复制只针对像 Object, Array 这样的复杂对象的。简单来说,浅复制只复制一层对象的...

Monettt
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

第11章 多线程

程序、进程、线程 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 **进程(process)**是程序的一次执行过程或是正在运行的一个程序。动...

流小文
10分钟前
0
0
SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地j...

独钓渔
今天
2
0
五、MyBatis缓存

一、MyBatis缓存介绍 缓存的使用可以明显的加快访问数据速度,提升程序处理性能,生活和工作中,使用缓存的地方很多。在开发过程中,从前端-->后端-->数据库等都涉及到缓存。MyBatis作为数据...

yangjianzhou
今天
2
0
最近研究如何加速UI界面开发,有点感觉了

最近在开发JFinal学院的JBolt开发平台,后端没啥说的,做各种极简使用的封装,开发者上手直接使用。 JBolt开发平台包含常用的用户、角色、权限、字典、全局配置、缓存、增删改查完整模块、电...

山东-小木
今天
3
0
《月亮与六便士》的读后感作文3000字

《月亮与六便士》的读后感作文3000字: 看完英国作家威廉.萨默塞特.毛姆所著《月亮与六便士》(李继宏译),第一疑问就是全书即没提到“月亮”,也没提到“六便士”。那这书名又与内容有什么...

原创小博客
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部