在actionscrip3.0中是没有提供内置的数组克隆的方法的,摸索了一下,如下得论:
1.浅层复制的话,可以使用Array类的concat()或者slice()的无参方法来创建一个新数组,如下:
var bb:ArrayCollection = new ArrayCollection();
var a:Dictionary = new Dictionary();
a.name = "wodesign";
a.age = 25;
bb.addItem(a);
bb.addItem("b");
bb.addItem("c");
bb.addItem("d");
aa = new ArrayCollection(bb.source.concat());
bb.removeAll();
删除bb内容后,aa保存了bb的内容。
2.深层复制,这样可以保证,将数组所有的内容,包括指向也进行复制,如下:
class User{
public var id:int;
public var name:String;
public function User(id:int,name:String)
{
id=id;
name = name;
};
}
var user:User = new User(12,"wodesign");
var aa:Array = new Array();
aa.push(user);
// 开始做复制动作了哈
var byteArr:ByteArray = new ByteArray();
byteArr.writeObject(aa);
byteArr.position = 0;
var bb:Array = byteArray.readObject();
// 改值了哈
user.id = 28;
trace(aa[0].id); // 28;
trace(bb[0].id); // 12;
OK,还有其它更好的方法吗,分享吧
分享到:
相关推荐
这篇文章主要介绍了python numpy数组复制使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用python时我们经常会处理数组,有的时候是复制有的...
ArrayUtil.as ---------------------- 数组辅助功能 setFrameout.as ---------------------- 延迟(帧)函数 clearFrameout.as ---------------------- 清除延迟函数 delayOut.as ---------------------- 延迟...
在js当中,我们常常遇到数组复制的的情况,许多人一般都会使用“=”来直接把一个数组赋值给一个变量,如: var a=[1,2,3]; var b=a; console.log(b); //输出的是1,2,3 a[2]=0; console.log(b); //输出的是1,2,0 ...
as3运行时错误中文说明 1000 系统内存不足。 系统可用内存无法满足 Flash Player 编译代码的需要。请关闭系统上正在运行的某些应用程序或进程。 1001 未实现方法 _。 1002 Number.toPrecision 的范围是 1 至 21...
复制代码 代码如下: <?php /* 数组的遍历 * * 1.使用for语句循环遍历数组 * 1....每一次循环都会将数组中的元素分别赋值给后面变量 * * foreach(数组变量 as 下标变量=> 值变量){ * } * * * 3.whil
如何将下面的二维数组转为一维数组。 复制代码 代码如下:$msg = array( ...复制代码 代码如下:foreach($msg as $k => $v){ $ids[] = $id; $names[] = $name; } 第二种方法: 复制代码 代码如下:$ids = array_column
我们给数组原型上面添加去重的方法distinct,用第一种很容易想到的方法来实现,当然也是很笨很直接的,把这个数组复制一份然后循环两个数组,对比当前值与后面所有的值是否相等,如果与后面所有值都不等则把该值存到...
本文实例讲述了...复制代码 代码如下:<?php $arr = array(3,9,4); function test($arr){ $arr[0] = 30; } test($arr); foreach($arr as $val){ echo $val.” “; } ?> [removed] var myarr = [343,90
import numpy as np arr1 = np.arange(10) print(arr1) slice_data = arr1[3:5] print(slice_data) slice_data[0] = 123 print(slice_data) print(arr1) 类似的代码之前应用过,简单看了一下numpy中的数组切片。 ...
下面的函数可以用于二维数组: 复制代码 代码如下: //二维数组去掉重复值 function array_unique_fb($array2D) { foreach ($array2D as $v) { $v = join(“,”,$v); //降维,也可以用implode,将一维数组转换为用逗号...
(实际中有用到把数组存在到文件中的功能,不过分享的代码跟实际应用中的有点不同) 复制代码 代码如下: <?php function cacheArr(&$data){ if(!$data)throw new Exception(‘数组不能为空’); foreach($GLOBALS...
一、 错误实现 不少人可能直接就用等号进行赋值了: 代码如下: var array1 = new Array(“1″,”2″,”3”);... 二、 使用slice() 可使用slice()进行复制,因为slice()返回也是数组。 代码如下: var array1 = ne
复制代码 代码如下://删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_value($arr[$key], $var); } else { $value = ...
复制代码 代码如下:<?php/** * 返回数组的维度 * @param [type] $arr [description] * @return [type] [description] */function arrayLevel($arr){ $al = array(0); function aL($arr,&$al,$level=0){ ...
复制代码 代码如下:/** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid 数组中作为父键的下标或关联键名 * 返回 多维数组 **/function find_...
浅复制一份当前数组,并把接收到的参数附加到新数组的末尾。原数组不改变。 语法 array.concat(value1, value2, …, valueN) 参数为需要合并的数组或非数组值 var arr1 = [1, 2, 3]; var obj = {animal : 'monkey'}...
下面介绍PHP中遍历关联数组的三种方法: 方法1:foreach 复制代码 代码如下: <?php $sports = array( ‘football’ => ‘good’, ‘swimming’ => ‘very well’, ‘running’ => ‘not good’); foreach ($...
复制代码 代码如下:function utf8_array_asort(&$array) {if(!isset($array) || !is_array($array)) { return false;}foreach($array as $k=>$v) { $array[$k] = iconv(‘UTF-8’, ‘GB2312’,$v);}asort($array);...
复制代码 代码如下: <?php //定义多维数组 $a = array( array(“sky”, “blue”), array(“apple”, “red”), array(“tree”, “green”)); //自定义数组比较函数,按数组的第二个元素进行比较