JavaScript數(shù)組合并的8種常見方法小結(jié)
1.ES6 解構(gòu)
[...arr, ...array]
不改原數(shù)組值,生成新的數(shù)組。
2.遍歷添加
array.forEach(item => { arr.push(item) })
遍歷方法:forEach、map、filter、every、for、for in、for of等。
添加方法:push(后追加)、unshift(前追加)等。
arr值改變成追加后的樣子,array值不改變
3.concat
arr.concat(array)
不改原數(shù)組值,生成新的數(shù)組。
4.join & split
(arr.join(',') + ',' + array.join(',')).split(',')
原數(shù)組值不改變。
默認(rèn)會(huì)把數(shù)組中的數(shù)字類型轉(zhuǎn)成字符串類型。
數(shù)組的項(xiàng)是引用類型時(shí)會(huì)自動(dòng)生成'[object Object]',造成數(shù)據(jù)丟失或錯(cuò)誤。
5.解構(gòu)添加
arr.push(...array) arr.unshift(...array)
arr變成合并后的樣子,array值不變。
6.splice解構(gòu)
arr.splice(arr.length, '', ...array)
原數(shù)組值不變,返回空數(shù)組。
7.apply
arr.push.apply(arr, array) arr.unshift.apply(arr, array)
原數(shù)組值不改變,返回拼接后數(shù)組的長(zhǎng)度。
8.call
arr.push.call(arr, ...array) arr.unshift.call(arr, ...array)
原數(shù)組值不改變,返回拼接后數(shù)組的長(zhǎng)度。
補(bǔ)充:兩個(gè)數(shù)組的交叉合并
var ary=["A","B","C","D"]; var ary2=[1,2,3,4,5,6,]; function aryJoinAry(ary,ary2) { var itemAry=[]; var minLength; //先拿到兩個(gè)數(shù)組中長(zhǎng)度較短的那個(gè)數(shù)組的長(zhǎng)度 if(ary.length>ary2.length){ minLength=ary2.length; } else{ minLength=ary.length; } //將兩個(gè)數(shù)組中較長(zhǎng)的數(shù)組記錄下來 var longAry=arguments[0].length>arguments[1].length?arguments[0]:arguments[1]; //循環(huán)范圍為較短的那個(gè)數(shù)組的長(zhǎng)度 for (var i = 0; i < minLength; i++) { //將數(shù)組放入臨時(shí)數(shù)組中 itemAry.push(ary[i]); itemAry.push(ary2[i]) } //itemAry和多余的新數(shù)組拼接起來并返回。 return itemAry.concat(longAry.slice(minLength)); } console.log(aryJoinAry(ary, ary2));// ["A", 1, "B", 2, "C", 3, "D", 4, 5, 6]
總結(jié)
到此這篇關(guān)于JavaScript數(shù)組合并的8種常見方法小結(jié)的文章就介紹到這了,更多相關(guān)JS數(shù)組合并方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript面向?qū)ο蟪绦蛟O(shè)計(jì)高級(jí)特性經(jīng)典教程(值得收藏)
這篇文章主要介紹了javascript面向?qū)ο蟪绦蛟O(shè)計(jì)高級(jí)特性,結(jié)合實(shí)例形式詳細(xì)講述了javascript對(duì)象的創(chuàng)建,訪問,刪除,對(duì)象類型,擴(kuò)展等,需要的朋友可以參考下2016-05-05js中substring和substr的詳細(xì)介紹與用法
這篇文章介紹了js中substring和substr的用法,有需要的朋友可以參考一下2013-08-08js原生之焦點(diǎn)圖轉(zhuǎn)換加定時(shí)器實(shí)例
本文主要分享了在jQuery之焦點(diǎn)圖轉(zhuǎn)換-左右的基礎(chǔ)上,將jQuery代碼改成js原生,并添加定時(shí)器(setInterval()和clearInterval())的實(shí)例代碼。需要的朋友可以參考借鑒2016-12-12js中Object.defineProperty()方法的不詳解
這篇文章主要介紹了js中Object.defineProperty()方法的不詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07