本文实例讲述了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”) >之前运行结果:
<强>方法二:强>
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()用法实例分析