亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

數組合并的幾種方法

標簽:
Html/CSS
var arr1 = [1, 2, 3];var arr2 = ["a","b","c","d","e","f"];

1、concat

var arr = arr1.concat(arr2);  // [1, 2, 3, "a", "b", "c", "d", "e", "f"]

Array对象提供的concat()方法,连接两个或更多的数组,并返回一个新数组,原数组不变。
但当我们需要连接多个数组的时候,效率很低,会造成很大的内存浪费,所以这个方法肯定不是最好的。

2、 通过for循环

for(let i in arr1){
    arr2.push(arr[i]);
}
console.log(arr2)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"]

这样写性能相对来说要高一点,但是会改变数组本身的值,而且很丑

3、通过map()

 arr1.map(item=>{
    arr2.push(item) 
 });
  console.log(arr2)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"]

这样写性能相对来说要高一点,但是也会改变数组本身的值,这样看起来逼格高一点啦~~~

4、apply

函数的apply方法有一个特性,那就是func.apply(obj,argv),argv是一个数组。所以我们可以利用这点,直接上代码:

1.
arr1.push.apply(arr1,arr2);   
console.log(arr1)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"] 
2.
Array.prototype.push.apply(arr1,arr2);
console.log(arr1)  // [1, 2, 3, "a", "b", "c", "d", "e", "f"]

调用arr1.push这个函数实例的apply方法,同时把,arr2当作参数传入,这样arr1.push这个方法就会遍历arr2数组的所有元素,达到合并的效果。也会改变数组本身的值

5、ES6 – 扩展运算符

arr = [...arr1,...arr2]
console.log(arr)   // [1, 2, 3, "a", "b", "c", "d", "e", "f"]

这个方法不会改变原数组的内容,返回新数组。



作者:巩小白
链接:https://www.jianshu.com/p/9decd923bb05


點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消