![JavaScript模拟数组合并concat__第1页](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/401451d0-98ba-40ea-b96c-bbde08a738ec/401451d0-98ba-40ea-b96c-bbde08a738ec1.gif)
![JavaScript模拟数组合并concat__第2页](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/401451d0-98ba-40ea-b96c-bbde08a738ec/401451d0-98ba-40ea-b96c-bbde08a738ec2.gif)
![JavaScript模拟数组合并concat__第3页](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/401451d0-98ba-40ea-b96c-bbde08a738ec/401451d0-98ba-40ea-b96c-bbde08a738ec3.gif)
![JavaScript模拟数组合并concat__第4页](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/401451d0-98ba-40ea-b96c-bbde08a738ec/401451d0-98ba-40ea-b96c-bbde08a738ec4.gif)
![JavaScript模拟数组合并concat__第5页](http://file2.renrendoc.com/fileroot_temp3/2021-7/15/401451d0-98ba-40ea-b96c-bbde08a738ec/401451d0-98ba-40ea-b96c-bbde08a738ec5.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JavaScript模拟数组合并concat_ 这篇文章主要介绍了JavaScript模拟数组合并concat的相关资料,需要的伴侣可以参考下 定义和用法 concat() 方法用于连接两个或多个数组。 该方法不会转变现有的数组,而仅仅会返回被连接数组的一个副本。 语法 arrayObject.concat(arrayX,arrayX,.,arrayX) 参数描述arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 返回值 返回一个新的数组。该数组是通过把全部 arrayX 参数添加到 arrayObject 中生成的。假如要进行 concat() 操作的参数是数组,那么
2、添加的是数组中的元素,而不是数组 。 我们有两个这样的数组 var arr1 = 1,2,3; var arr2 = 4,5,6; 任务:合并成这样,请至少供应两种思路。 var arr1 = 1,2,3,4,5,6; 思路一:我们可以把其次个数组里面的值挨个添加到第一个数组的末尾。 1:数组怎么添加内容 ? | push | shift 2:怎么向数组最终一个索引添加值? push | 数组.length 3:怎么挨个向数组一添加内容? for 4: for循环多少次? 你要添加多少就循环多少次,也就是arr2的长度 5: 要添加什么内容?arr2里面的值,怎么猎取,arr? 代码实现: v
3、ar arr1 = 1,2,3; var arr2 = 4,5,6; for(var i=0;iarr2.length;i+) arr1.push(arr2i); console.log(arr1); /1, 2, 3, 4, 5, 6 问题来了,原生js供应的concat方法不会修改原数组(arr1)的内容,而是返回一个新数组。 分析:既然是要返回值,那我们可以定义一个函数,然后再定义一个变量,这个变量来接收我们添加好的值,但是我们会一个问题,那就是不能在arr1上面push内容了,不然还是会修改原数组的内容。于是我觉得要把原数组复制一份,但是又有一个问题,就是对象是引用类型,简洁来说虽然我
4、们可以把数组1复制到一个变量中,但是假如我用push或者的形式修改里面的值,或者添加,那么我们的原数组也会被修改,(假如你不知道什么是引用类型,可以去看我博客的第一页或者在其次页)这不是我们想要的结果,但是我们必需复制一份arr1。此时你有什么解决方法? 解决数组引用问题: for(var i=0;iarr1.length;i+) arr3i = arr1i; 我的思路是把数组1的值挨个的添加到arr3这个数组中,此时的arr3是这样的 console.log(arr3) /1, 2, 3 任务:在这个新的数组arr3中添加arr2的所以值,方法和第一步一样,假如遗忘了回头看看。 代码实现:
5、var arr1 = 1,2,3; var arr2 = 4,5,6; var arr3 = ; for(var i=0;iarr1.length;i+) arr3i = arr1i; for(var i=0;iarr2.length;i+) arr3.push(arr2i); console.log(arr3); 问题:虽然这个已经实现了数组的合并,但是我每次合并都要重新写一份,那样太麻烦,于是我们得想个方法把它封装成一个函数,下次我们要用的时候调用它就行。 var arr1 = 1,2,3; var arr2 = 4,5,6,7; function Concat(arr1,arr2) va
6、r arr3 = ; for(var i=0;iarr1.length;i+) arr3i = arr1i; for(var i=0;iarr2.length;i+) arr3.push(arr2i); return arr3; console.log(Concat(arr1,arr2); 思路二: 分析:把arr1和arr2都转换成字符串,然后将这两段字符串相加得到一个组合,然后再把这个字符串转成数组。 代码实现: var arr1 = 1,2,3; var arr2 = 4,5,6,7,8,9; var arr3 = (arr1.join(,)+,+arr2.join(,).split(,
7、); 出了点小问题,这个这个数组里面的值是字符串了。 1, 2, 3, 4, 5, 6, 7, 8, 9 解决思路:遍历这个数组,挨个把他们转换成数字。 var arr1 = 1,2,3; var arr2 = 4,5,6,7,8,9; var arr3 = (arr1.join(,)+,+arr2.join(,).split(,); for(var i=0;iarr3.length;i+) arr3i = +arr3i; console.log(arr3); 课外扩展:继承版 var arr1 = 1,2,3; var arr2 = 4,5,6,7,8,9; Atotype.Concat = function(arr) var arr3 = ; for(var i=0;ithis.length;i+) arr3i = thisi; for(var i=0;iarr.length;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国机器人用立体摄像头行业头部企业市场占有率及排名调研报告
- 2025年全球及中国油藏模拟软件行业头部企业市场占有率及排名调研报告
- 2025年全球及中国电子保险丝芯片行业头部企业市场占有率及排名调研报告
- 2025-2030全球中低牌号无取向硅钢行业调研及趋势分析报告
- 2025年全球及中国特殊需求三轮车行业头部企业市场占有率及排名调研报告
- 2025年全球及中国超精密非球面磨床行业头部企业市场占有率及排名调研报告
- 2025-2030全球软件工程智能平台行业调研及趋势分析报告
- 2025-2030全球1P储能锂电池行业调研及趋势分析报告
- 2025年全球及中国漫画书出版商行业头部企业市场占有率及排名调研报告
- 2025年全球及中国自动血压脉搏测试仪行业头部企业市场占有率及排名调研报告
- 2025年广州中医药大学顺德医院(佛山市顺德区中医院)招考聘用高频重点提升(共500题)附带答案详解
- 2025年华侨港澳台学生联招考试英语试卷试题(含答案详解)
- 2024-2025学年北京石景山区九年级初三(上)期末语文试卷(含答案)
- 药品流通监管培训
- 中国高血压防治指南(2024年修订版)
- 北京市海淀区重点中学2025届高考数学押题试卷含解析
- GB/Z 44765.3-2024用户端能源管理系统和电网侧管理系统间的接口第3部分:架构
- 《春酒》琦君完整版
- 北师大版(2024新版)七年级上册数学第四章《基本平面图形》测试卷(含答案解析)
- 湖南省邵阳市武冈市2024届高三上学期期中考试地理含答案解析
- 春节后复工安全教育培训考试试题及答案
评论
0/150
提交评论