JS数组方法concat()用法实例分析

  

本文实例讲述了JS数组方法concat()用法。分享给大家供大家参考,具体如下:

  

数组方法concat ()

  
      <李>   

    concat()可以基于当前数组中的所有项创建一个新数组。即这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。
      没有给concat方法传递参数的情况下,它只是复制当前数组并返回副本。
      如果传递的是一或多个数组,则该方法会将这些数组中的每一项都添加到结果数组中
      如果传递的值是不是数组,这些值会被简单的添加到数组的末尾
      注意:该方法不会改变先后的数组,而仅仅会返回被连接数组的一个副本。

      李   <李>   

    定义和用法:concat()方法用于连接两个或多个数组。

      李   <李>语法:arrayObject.concat (arrayX、arrayX……, arrayX)   <李>参数:arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。   <李>返回值:返回一个新的数组。该数组是通过把所有arrayX参数添加到arrayObject中生成的。如果要进行concat()操作的参数是数组,那么添加的是数组中的元素,而不是数组。   
  

<强>方法一:

        函数connectArray () {   结果var=[];   var len=0;//获取所有数组的总长度   (var=0;我& lt;arguments.length;我+ +){   len +=参数[我]. length;   }   (var=0;我& lt;兰;我+ +){   如果我& lt;参数[0]. length) {   结果(结果。长度]=参数[0][我];   }   else if(我& lt;参数[1]。长度+参数[0]. length) {   结果(结果。长度]=参数[1][[0]. length] i -参数;   }   else if(我& lt;参数[2]。长度+参数[1]。长度+参数[0]. length)   结果(结果。长度]=参数[1]([0]i -参数。长度参数[1]. length];   }   返回结果;   }   var arr1=[1, 2, 3, 4, 5, 6);   var arr2=[' A ', ' B ', ' C ');   var arr3=[“AAA”、“BBB”、“CCC”);   var arr4=['你好','世界'];//连接数组   console.log (connectArray (arr1));   控制台。日志(connectArray (arr1 arr2));//[1,2,3,4,5,6,““,“B”,“C”)   控制台。日志(connectArray (arr1 arr2 arr3));//[1,2,3,4,5,6,““,“B”,“C”,“A”、“B”,“C”)      之前      

运行结果:

  

 JS数组方法concat()用法实例分析

  

<强>方法二:

        var arr1=[1, 2, 3, 4, 5, 6);   var arr2=[' A ', ' B ', ' C ');   var arr3=[“AAA”、“BBB”、“CCC”);   var arr4=['你好','世界'];//以下未考虑复杂情况,仅供参考:   Array.prototype。copyConcat=function () {   var=[]结果,   len=this.length,   argLen=arguments.length;//=结果;//这样将它的值直接赋值给结果不行,因为是将这样的引用赋值给结果//将这的值复制给结果   (var=0;我& lt;this.length;我+ +){   结果(结果。长度]=[我];   }//不传递参数   如果参数。长度==0){   返回结果;   }//有参数的时候   (var=0;我& lt;argLen;我+ +){   如果(Array.isArray(参数[我])){//参数是数组项的时候   (var j=0;j & lt;参数[我]. length;j + +) {   结果(结果。参数长度]=[我][j];   }   }   {//其他参数不是数组项的时候   结果(结果。[我]]=参数长度;   }   }   返回结果;   };//不传递参数   var resultArr1=arr1.copyConcat ();//(1、2、3、4、5、6)   console.log (resultArr1);//传递参数但不是数组   console.log (arr1。copyConcat (“xxx”,“多”,“打鼾声”));//[1,2,3,4,5,6,“xxx”,“多”,“zzz”)//传递参数,参数是数组   console.log (arr1.copyConcat (arr2));//[1,2,3,4,5,6,““,“B”,“C”)   console.log (arr1。copyConcat (arr2 arr3 arr4));//[1, 2, 3, 4, 5, 6,““,“B”,“C”、“AAA级”、“BBB”,“CCC”、“你好”、“世界”)//传递的参数:字符串,数字和数组   console.log (arr1。copyConcat(“参数”、“999”,arr2, arr3));//[1, 2, 3, 4, 5, 6,“参数”,“999”,“A”、“B”,“C”、“AAA级”、“BBB”,“CCC”)   console.log (arr1);//1、2、3、4、5、6      之前      

感兴趣的朋友可以使用:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

  

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》,《JavaScript遍历算法与技巧总结》,《JavaScript面向对象入门教程》、《JavaScript数学运算用法总结》,《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

JS数组方法concat()用法实例分析