




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、JavaScript模擬數(shù)組合并concat_ 這篇文章主要介紹了JavaScript模擬數(shù)組合并concat的相關資料,需要的伴侶可以參考下 定義和用法 concat() 方法用于連接兩個或多個數(shù)組。 該方法不會轉(zhuǎn)變現(xiàn)有的數(shù)組,而僅僅會返回被連接數(shù)組的一個副本。 語法 arrayObject.concat(arrayX,arrayX,.,arrayX) 參數(shù)描述arrayX必需。該參數(shù)可以是具體的值,也可以是數(shù)組對象??梢允侨我舛鄠€。 返回值 返回一個新的數(shù)組。該數(shù)組是通過把全部 arrayX 參數(shù)添加到 arrayObject 中生成的。假如要進行 concat() 操作的參數(shù)是數(shù)組,那么
2、添加的是數(shù)組中的元素,而不是數(shù)組 。 我們有兩個這樣的數(shù)組 var arr1 = 1,2,3; var arr2 = 4,5,6; 任務:合并成這樣,請至少供應兩種思路。 var arr1 = 1,2,3,4,5,6; 思路一:我們可以把其次個數(shù)組里面的值挨個添加到第一個數(shù)組的末尾。 1:數(shù)組怎么添加內(nèi)容 ? | push | shift 2:怎么向數(shù)組最終一個索引添加值? push | 數(shù)組.length 3:怎么挨個向數(shù)組一添加內(nèi)容? for 4: for循環(huán)多少次? 你要添加多少就循環(huán)多少次,也就是arr2的長度 5: 要添加什么內(nèi)容?arr2里面的值,怎么獵取,arr? 代碼實現(xiàn): 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方法不會修改原數(shù)組(arr1)的內(nèi)容,而是返回一個新數(shù)組。 分析:既然是要返回值,那我們可以定義一個函數(shù),然后再定義一個變量,這個變量來接收我們添加好的值,但是我們會一個問題,那就是不能在arr1上面push內(nèi)容了,不然還是會修改原數(shù)組的內(nèi)容。于是我覺得要把原數(shù)組復制一份,但是又有一個問題,就是對象是引用類型,簡潔來說雖然我
4、們可以把數(shù)組1復制到一個變量中,但是假如我用push或者的形式修改里面的值,或者添加,那么我們的原數(shù)組也會被修改,(假如你不知道什么是引用類型,可以去看我博客的第一頁或者在其次頁)這不是我們想要的結(jié)果,但是我們必需復制一份arr1。此時你有什么解決方法? 解決數(shù)組引用問題: for(var i=0;iarr1.length;i+) arr3i = arr1i; 我的思路是把數(shù)組1的值挨個的添加到arr3這個數(shù)組中,此時的arr3是這樣的 console.log(arr3) /1, 2, 3 任務:在這個新的數(shù)組arr3中添加arr2的所以值,方法和第一步一樣,假如遺忘了回頭看看。 代碼實現(xiàn):
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); 問題:雖然這個已經(jīng)實現(xiàn)了數(shù)組的合并,但是我每次合并都要重新寫一份,那樣太麻煩,于是我們得想個方法把它封裝成一個函數(shù),下次我們要用的時候調(diào)用它就行。 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都轉(zhuǎn)換成字符串,然后將這兩段字符串相加得到一個組合,然后再把這個字符串轉(zhuǎn)成數(shù)組。 代碼實現(xiàn): var arr1 = 1,2,3; var arr2 = 4,5,6,7,8,9; var arr3 = (arr1.join(,)+,+arr2.join(,).split(,
7、); 出了點小問題,這個這個數(shù)組里面的值是字符串了。 1, 2, 3, 4, 5, 6, 7, 8, 9 解決思路:遍歷這個數(shù)組,挨個把他們轉(zhuǎn)換成數(shù)字。 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司收購重組協(xié)議實施
- 城市路燈面試題及答案
- 學駕照考理論試題及答案
- 家具設計中的創(chuàng)意思維技巧與方法試題及答案
- 樂理學習多元化題及答案
- 幼兒園數(shù)學伴隨教育考試試題及答案
- PLC應用技術S7-200 SMART 模擬試題及答案
- 物流運輸考試題及答案
- 振華初中測試題及答案
- 合唱配器與聲部合成技巧試題及答案
- 2024年(新課標卷)高考物理試題評析交流 課件
- 機器的征途:空天科技學習通超星期末考試答案章節(jié)答案2024年
- 統(tǒng)編版語文五年級下冊-16田忌賽馬-教學課件多篇
- 鋼結(jié)構(gòu)工程加工合同范本
- 眼鏡學智慧樹知到答案2024年溫州醫(yī)科大學
- 市場監(jiān)督管理局餐飲服務環(huán)節(jié)日常監(jiān)督檢查結(jié)果記錄表
- 安徽省蕪湖市部分學校2023-2024學年八年級下學期期末聯(lián)考數(shù)學試題
- 四川省瀘州市2024年七年級下學期數(shù)學期末考試試卷附答案
- JT-T 1495-2024 公路水運危險性較大工程專項施工方案編制審查規(guī)程
- 幸福心理學智慧樹知到期末考試答案章節(jié)答案2024年浙江大學
- 2024年四川省自然資源投資集團有限責任公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論