clone

clone

> 功能

把作为参数传入的值 value 复制 level 层并返回该副本。以数组为例,clone(array, 1) 会复制数组但不复制它的元素,clone(array, 2) 则会连同它的所有元素一起复制。

参数
返回值
TypeScript

在 JavaScript 中没有原生的对应物:structuredClone 在 Leek Wars 的引擎里不可用。对于纯数据 —— 数字、字符串、数组、简单对象 —— JSON.parse(JSON.stringify(value)) 够用,但它会丢掉 MapSet、函数和 undefined;否则请写一个递归的复制。尤其要注意,{ ...objet }[...tableau]clone 不同,只复制第一层

Python

在 Python 中,copy 模块的 copy.deepcopy(value)clone 一样深复制,但没有层数的概念:副本总是完整的。copy.copy(value) 做的是复制,其中的子列表仍与原对象共享。游戏 API 的对象(CellLeek 等)也会被复制,但它们只是只读的包装:副本仍与原对象相等(==),并指向战斗中的同一个元素。