2016-10-13 00:16:48 点击量:10 标签: 收藏本文
合并一维数组和二维数组,哈哈.比较简单,自己先存着,以免以后用来
如:
- var a1:Array=[1,2,3,4]
- var a2:Array=[432,4,5,7]
- var a3:Array=[36]
- var aa:Array=[a1,a2,a3]
- var m:mergeArray=new mergeArray;
- //var a:Array=m.Merge(aa);//-----------1
- var a:Array=m.Merge(a1,a2,a3)//--------2
- trace(a + " = " + a.length);
- //1,2都输入1,2,3,4,432,4,5,7,36 = 9
- package
- {
- /**
- * ...合并多个数组,可合并一维数组和二维数组
- * @author zkl CuPlayer.com
- */
- public class mergeArray
- {
- private var i:int;
- private var j:int;
- public function Merge(...args):Array
- {
- var _newArray:Array = new Array;
- var len:int = args.length;
- if (len == 1) {
- //二维数组
- if (args[0] is Array) {
- for (i = 0; i < args[0].length; i++ ) {
- //合并一维数组
- _newArray = mergeing(args[0]);
- }
- }
- }else {
- _newArray = mergeing(args);
- }
- return _newArray;
- }
- /**
- * 合并一维数组
- */
- private function mergeing(a1:Array):Array
- {
- var a:Array = new Array;
- for (i = 0; i < a1.length; i++ ) {
- if (a1[i] is Array) {
- for (j = 0; j < a1[i].length; j++ ) {
- a.push(a1[i][j]);
- }
- }
- }
- return a;
- }
- }
- }
升级版,不知还有没有更好的办法?
- package {
- /**
- * ...合并多个数组,可合并一维数组和二维数组
- * @author zkl CuPlayer.com
- * 2010-8-30 14:27
- */
- public class mergeArrayOk {
- public function Merge(... args):Array {
- return merge1(args);
- }
- private function merge1(arr:Array):Array {
- var i:int, j:int;
- var _tempArray:Array = new Array;
- //为了不让每次循环都计算数组长度
- var len:int = arr.length;
- for (i = 0; i < len; i++){
- if (arr[i] is Array){
- var len2:int = arr[i].length;
- for (j = 0; j < len2; j++){
- if (arr[i][j] != null){
- _tempArray.push(arr[i][j]);
- }
- }
- } else if (arr[i] != null){
- _tempArray.push(arr[i]);
- }
- }
- //查询_tempArray是否还有数组,有则再次转换
- var m:int;
- var len3:int = _tempArray.length;
- for (i = 0; i < len3; i++){
- if (_tempArray[i] is Array){
- return merge1(_tempArray);
- break;
- } else {
- m++;
- if (m == _tempArray.length){
- return _tempArray;
- }
- }
- }
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室