`

AS3 数组深度复制

阅读更多

 

//简单复制后,修改副本会修改原对象,深度复制后,修改副本不修改原对象

var arr:Array = new Array("A","B");
trace(arr);//A,B

var deepCopy:ByteArray = new ByteArray();
deepCopy.writeObject(arr);
deepCopy.position = 0;

var arr2:Array = deepCopy.readObject() as Array;
trace(arr2);//A,B

arr2[0] = "Z";
trace(arr);//A,B
trace(arr2);//Z,B
分享到:
评论

相关推荐

    AS 3 错误代码中文说明

    ### AS 3 错误代码中文说明 #### 1000 系统内存不足 - **描述**:此错误提示表明系统当前可用的内存不足以支持Flash Player完成代码的编译工作。通常出现在计算机资源紧张时,特别是同时运行多个大型应用或者程序时...

    python深度学习笔记(一)——numpy篇(下).zip

    数组的元素类型可以通过`astype`方法进行转换,如将浮点型转为整型,或者调整精度。 9. **效率优化**: NumPy的运算通常比Python内置的循环更快,因为其底层是用C语言实现的,利用了向量化和内存连续的优势。理解...

    as3错误代码内容.doc

    ### AS3错误代码详解 #### 1000 系统内存不足 - **描述**:此错误提示意味着系统的可用内存不足以支持Flash Player编译代码的需求。这通常发生在计算机资源紧张或者同时运行了大量程序的时候。 - **解决方法**: -...

    python数据处理markdown笔记

    - `dstack`: 数组沿深度方向组合。 通过以上的介绍,我们可以看到 numpy 提供了非常丰富的功能来支持数组的操作,这些基本操作为后续更复杂的数据处理奠定了坚实的基础。接下来,我们将会进一步探讨 Pandas、...

    使用numpy掌握科学计算(全英 & 对应代码 )

    numpy库支持广播机制,允许不同形状的数组进行运算,而无需复制数据,这极大地提高了性能。另外,numpy还可以利用多核CPU进行并行计算,通过`numpy.vectorize()`或者配合numba库实现函数的自动优化。 在学习过程中...

    模仿BeJSON,HiJson格式化JSON,在AS控制台分层输出接口日志

    在Android Studio(AS)中,开发者往往需要手动复制JSON数据到这些网站进行格式化,但这无疑增加了工作效率的负担。为了解决这个问题,我们可以模仿BeJSON和HiJson的逻辑,在AS的控制台直接实现JSON数据的分层输出。...

    AS脚本常用命令

    3. **Stop**: `stop()`命令用于停止当前电影片段的播放。 4. **Toggle High Quality**: `toggleHighQuality()`用于在高画质和低画质之间切换,优化用户体验。 5. **Stop All Sounds**: `stopAllSounds()`用于停止...

    vb.net中treeview节点的添加和删除

    For i As Integer = 1 To 3 ' 创建3个子节点 Dim childNode As TreeNode = New TreeNode("子节点 " & level.ToString()) parentNode.Nodes.Add(childNode) If level < 3 Then ' 如果层级不够深,继续添加子节点 ...

    科学计算库numpy代码.zip

    3. 数组操作:包括切片、复制、拼接、转置、重塑等。 4. 数组算术:支持基本的数学运算,如加、减、乘、除、指数、对数等,且支持广播机制,使不同形状的数组能够进行运算。 五、NumPy的线性代数功能 NumPy的`...

    FlashMX AS教程

    ##### 3. and 运算符 - 逻辑“与”运算符,用于连接两个布尔表达式。 ##### 4. arguments 对象 - **arguments.callee**:指向当前正在执行的函数。 - **arguments.caller**:指向调用当前函数的函数。 - **...

    TensorFlow 合并/连接数组的方法

    除了`tf.concat`,TensorFlow还提供了其他数组操作函数,如`tf.stack`(沿指定轴堆叠数组)、`tf.tile`(复制并扩展数组)、`tf.expand_dims`(增加新的轴)等,它们都能在处理数据时提供很大的灵活性。 在实际编程...

    javascript克隆对象深度介绍

    但需要注意的是,如果数组中有引用类型的值,这种方法就不能实现深度克隆,因为它们不会复制嵌套对象或数组。 另外,JSON序列化和反序列化也是一种实现深度克隆的简单方法: ```javascript var s = JSON.stringify...

    ActionScript3.0开发人员指南

    本章深入介绍了如何管理日历日期和时间,包括如何控制时间间隔,以及一个实际的示例——简单模拟时钟,展示了如何在AS3中实现动态时钟。 - **管理日历日期和时间**:了解如何使用`Date`对象来获取、设置和操作日期...

    actionscript cook book 中文版

    5.8 数组复制:创建数组的副本,避免对原数组的直接修改。 5.9 存储多维数据:介绍二维及多维数组的创建和操作。 5.10 数组排序:使用sort()对数组进行升序或降序排序。 5.11 自定义排序:覆盖sortOn()实现自定义的...

    flash ActionScript.3小技巧

    这可以通过使用 `ByteArray` 类实现深度复制: ```actionscript function clone(source:Object):* { var copier:ByteArray = new ByteArray(); copier.writeObject(source); copier.position = 0; return ...

    numpy_python3.7.zip

    例如,`arr.reshape(new_shape)`可以改变数组的形状,而`arr.astype(new_dtype)`则可以转换数组的数据类型。 六、numpy的数学运算 numpy库包含大量数学函数,可以直接对数组进行操作。比如,`numpy.add()`, `numpy...

    Tutorial72_Reshape-and-resize:在此笔记本中,您将了解有关重塑和调整大小的信息

    resize可以用于动态扩展或收缩数组,但需要注意的是,如果新大小超过原始数组的容量,它会创建一个新的数组并复制原有数据。 ```python array = np.array([1, 2, 3, 4, 5]) resized_array = np.resize(array, (2, 3...

    PHP程序设计-3期(KC016) 2.5.2赋值运算符拓展知识.doc

    引用赋值在处理大型数据结构,比如大数组时特别有用,因为它避免了数据的深度复制,从而提高了性能。然而,如果不小心使用,也可能导致难以预料的行为,因为它们允许对同一个内存位置进行操作。 总结来说,PHP中的...

    百度2010校园招聘web前台开发最新笔试题

    5. **JavaScript对象的深度克隆**:深度克隆用于创建一个与原对象完全独立的新对象,包括所有嵌套的对象和数组。提供的方法是通过创建一个新的构造函数,将原对象的原型复制到新构造函数,然后递归地复制所有属性。 ...

    百度校园招聘笔试题-WEB前端工程师-电子科技大学.pdf

    深度克隆一个对象,需要递归复制所有属性及其值。以下是一个简单的实现: ```javascript function deepClone(obj) { if (obj === null) return obj; let clone = obj instanceof Array ? [] : {}; for (let key ...

Global site tag (gtag.js) - Google Analytics