`

合并多个数组

 
阅读更多

合并多个数组,可合并一维数组和二维数组,哈哈.比较简单,自己先存着,以免以后用来
如:
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

Java代码 复制代码 收藏代码
  1. package  
  2. {   
  3.        
  4.     /**  
  5.      * ...合并多个数组,可合并一维数组和二维数组  
  6.      * @author zkl  
  7.      */  
  8.     public class mergeArray   
  9.     {   
  10.         private var i:int;   
  11.            
  12.         private var j:int;   
  13.            
  14.         public function Merge(...args):Array   
  15.         {   
  16.             var _newArray:Array = new Array;   
  17.                
  18.             var len:int = args.length;   
  19.                
  20.             if (len == 1) {   
  21.                    
  22.                 //二维数组   
  23.                 if (args[0] is Array) {   
  24.                        
  25.                     for (i = 0; i < args[0].length; i++ ) {   
  26.                         //合并一维数组   
  27.                          _newArray = mergeing(args[0]);    
  28.                             
  29.                     }   
  30.                 }   
  31.                    
  32.             }else {   
  33.                    
  34.                 _newArray = mergeing(args);   
  35.                    
  36.             }   
  37.                    
  38.             return _newArray;   
  39.                
  40.         }   
  41.            
  42.         /**  
  43.          * 合并一维数组  
  44.          */  
  45.         private function mergeing(a1:Array):Array   
  46.         {   
  47.             var a:Array = new Array;   
  48.                
  49.             for (i = 0; i < a1.length; i++ ) {   
  50.                        
  51.                     if (a1[i] is Array) {   
  52.                            
  53.                         for (j = 0; j < a1[i].length; j++ ) {   
  54.                             
  55.                             a.push(a1[i][j]);   
  56.                             
  57.                         }   
  58.                            
  59.                     }   
  60.                 }   
  61.                
  62.             return a;   
  63.         }   
  64.            
  65.     }   
  66.        
  67. }  
package
{
	
	/**
	 * ...合并多个数组,可合并一维数组和二维数组
	 * @author zkl
	 */
	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;
		}
		
	}
	
}



升级版-------------------------------------------不知还有没有更好的办法?

Java代码 复制代码 收藏代码
  1. package {   
  2.   
  3.     /**  
  4.      * ...合并多个数组,可合并一维数组和二维数组  
  5.      * @author zkl  
  6.      * 2010-8-30 14:27  
  7.      */  
  8.     public class mergeArrayOk {   
  9.         public function Merge(... args):Array {   
  10.             return merge1(args);   
  11.         }   
  12.   
  13.         private function merge1(arr:Array):Array {   
  14.             var i:int, j:int;   
  15.             var _tempArray:Array = new Array;   
  16.             //为了不让每次循环都计算数组长度   
  17.             var len:int = arr.length;   
  18.             for (i = 0; i < len; i++){   
  19.                 if (arr[i] is Array){   
  20.                     var len2:int = arr[i].length;   
  21.                     for (j = 0; j < len2; j++){   
  22.                         if (arr[i][j] != null){   
  23.                             _tempArray.push(arr[i][j]);   
  24.                         }   
  25.                     }   
  26.                 } else if (arr[i] != null){   
  27.                     _tempArray.push(arr[i]);   
  28.                 }   
  29.             }   
  30.             //查询_tempArray是否还有数组,有则再次转换   
  31.             var m:int;   
  32.             var len3:int = _tempArray.length;   
  33.             for (i = 0; i < len3; i++){   
  34.                 if (_tempArray[i] is Array){   
  35.                     return merge1(_tempArray);   
  36.                     break;   
  37.                 } else {   
  38.                     m++;   
  39.                     if (m == _tempArray.length){   
  40.                         return _tempArray;   
  41.                     }   
  42.                 }   
  43.             }   
  44.         }   
  45.     }   
分享到:
评论

相关推荐

    JS合并两个数组的3种方法详解

    这篇文章主要介绍了JS合并两个数组的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要将两个数组合并成为一个的情况。比如: var a = [1,2,3];...

    JS实现的合并多个数组去重算法示例

    本文实例讲述了JS实现的合并多个数组去重算法。分享给大家供大家参考,具体如下: var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并两个数组,去重 var concat_ =...

    原生JavaScript实现合并多个数组示例

    主要介绍了原生的JavaScript及jquery实现合并多个数组,很简单,很实用,大家可以看看

    java 数组的合并

    java 数组的合并 java 数组的合并 java 数组的合并

    java中两个byte数组实现合并的示例

    今天小编就为大家分享一篇java中两个byte数组实现合并的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    matlab开发-多维数组的合并排序

    matlab开发-多维数组的合并排序。使用合并排序技术对单个或多维数组进行排序。

    php下将多个数组合并成一个数组的方法与实例代码

    其形式为: 复制代码 代码如下: array array_merge (array array1 array2…,arrayN) 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串...

    合并数组并且转为有序去重集合

    合并数组并且转为有序去重集合,我看到很多资源博客,百度都弄的很繁琐,所以自己总结描述了一下

    php通过array_merge()函数合并两个数组的方法

    php通过array_merge()函数合并两个数组,array_merge()是一个php函数,用于将两个或者多个数组合并,后一个数组会追加到前一个数组后面,并返回结果数组。它接受两个或两个以上的数组,并返回一个包含了所有元素的...

    javascript合并两个数组最简单的实现方法

    在开发的过程中,我们很多时候会遇到需要将两个数组合并成一个数组的情况出现。 var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6]; // 将arr1和arr2合并成为[1, 2, 3, 4, 5, 6] 这里总结一下在JavaScript中合并两个数组...

    js操作两个json数组合并、去重,以及删除某一项元素

    两个json数组合并去重,以及删除某一项元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, ...// 合并两个json数组,并去重; ha= Object.assign([], ha, hb); console.log('ha

    华为秋招_多数组合并问题.doc

    只是华为秋招的笔试题(编程部分),自己编写的答案,题为:多个数组按顺序合并(以java代码在Eclipse实现的为展示)。题目表述:现在有多组整数数组,需要将他们合并成一个新的数组。合并规则,从每个数组里按顺序...

    js代码-js concat 数组合并 数组连接

    js代码-js concat 数组合并 数组连接

    python使用append合并两个数组的方法

    本文实例讲述了python使用append合并两个数组的方法。分享给大家供大家参考。具体如下: ... 您可能感兴趣的文章:Python中多个数组行合并及列合并的方法总结基于Python中numpy数组的合并实例讲解Python n

    C++实现两个有序数组的合并

    主要为大家详细介绍了C++实现两个有序数组的合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    php常用算法(doc)

    7、合并多个数组,不用array_merge(),题目来于论坛。 思路:遍历每个数组,重新组成一个新数组。 (){ $c = func_num_args()-1; $a = func_get_args(); //print_r($a); for($i=0; $i$c; $i++){ if(is_array($a[$i...

    Java实现把两个数组合并为一个的方法总结

    主要介绍了Java实现把两个数组合并为一个的方法,结合实例形式总结分析了java常用的四种数组合并操作技巧,需要的朋友可以参考下

    php数组操作函数

    key_exists -- 检查给定的键名或索引是否存在于数组中 array_keys -- 返回数组中所有的键名 array_map -- 将回调函数作用到给定数组的单元上 array_merge_recursive -- 递归地合并一个或多个数组 array_merge -- ...

Global site tag (gtag.js) - Google Analytics