一、push方法的基礎(chǔ)用法
push()方法是JavaScript數(shù)組中最常用的方法之一,它的作用是將一個(gè)或者多個(gè)元素添加到數(shù)組的末尾,并返回新的數(shù)組長(zhǎng)度。
let arr1 = [1, 2, 3];
let len1 = arr1.push(4, 5);
console.log(len1); // 5
console.log(arr1); // [1, 2, 3, 4, 5]
在上面的例子中,我們定義了一個(gè)數(shù)組arr1,通過(guò)push()方法將數(shù)字4和5添加到數(shù)組的末尾,然后在控制臺(tái)打印出了push()方法返回的新的數(shù)組長(zhǎng)度5和添加完元素后的數(shù)組 [1, 2, 3, 4, 5]。
二、使用apply()方法將一個(gè)數(shù)組(或者類數(shù)組對(duì)象)合并到另一個(gè)數(shù)組中
使用apply()方法可以將一個(gè)數(shù)組(或者類數(shù)組對(duì)象)合并到另一個(gè)數(shù)組中,具體操作方式是將需要合并的數(shù)組作為第二個(gè)參數(shù)傳遞給apply()方法。下面是一個(gè)示例:
let arr2 = [1, 2, 3];
let arr3 = [4, 5];
Array.prototype.push.apply(arr2, arr3);
console.log(arr2); // [1, 2, 3, 4, 5]
在上面的例子中,我們定義了兩個(gè)數(shù)組arr2和arr3, 然后使用apply()方法將數(shù)組arr3合并到數(shù)組arr2的末尾,最后打印出了合并后的數(shù)組 [1, 2, 3, 4, 5]。
三、使用擴(kuò)展運(yùn)算符將一個(gè)數(shù)組(或者類數(shù)組對(duì)象)合并到另一個(gè)數(shù)組中
使用擴(kuò)展運(yùn)算符(也稱為展開運(yùn)算符)同樣可以將一個(gè)數(shù)組(或者類數(shù)組對(duì)象)合并到另一個(gè)數(shù)組中,先看下面這個(gè)示例:
let arr4 = [1, 2, 3];
let arr5 = [4, 5];
arr4.push(...arr5);
console.log(arr4); // [1, 2, 3, 4, 5]
在上面的例子中,我們同樣定義了兩個(gè)數(shù)組arr4和arr5,使用擴(kuò)展運(yùn)算符將數(shù)組arr5合并到數(shù)組arr4的末尾,最后打印出了合并后的數(shù)組 [1, 2, 3, 4, 5]。
需要注意的是,擴(kuò)展運(yùn)算符只能用于具有迭代器接口的對(duì)象,也就是可以使用for...of循環(huán)的對(duì)象。如果要將一個(gè)類數(shù)組對(duì)象合并到數(shù)組中,可以先將這個(gè)類數(shù)組對(duì)象轉(zhuǎn)換為真正的數(shù)組,然后使用擴(kuò)展運(yùn)算符進(jìn)行合并:
let arrLike = {"0": "a", "1": "b", "2": "c", length: 3};
let arr6 = [1, 2, 3];
arr6.push(...[...arrLike]);
console.log(arr6); // [1, 2, 3, "a", "b", "c"]
四、使用push()方法添加多個(gè)元素到數(shù)組指定位置
除了可以將元素添加到數(shù)組的末尾,push() 方法也可以用來(lái)將一個(gè)或多個(gè)元素添加到數(shù)組的指定位置。具體操作方式是使用splice()方法把元素插入到數(shù)組中指定的位置,再使用push()方法將其他元素添加到該指定位置后面。下面是一個(gè)示例:
let arr7 = [1, 3, 5];
arr7.splice(1, 0, 2); // 在索引1處插入2
arr7.push(6);
console.log(arr7); // [1, 2, 3, 5, 6]
在上面的例子中,我們定義了一個(gè)數(shù)組arr7,使用splice()方法在索引1處插入元素2,然后使用push()方法將元素6添加到索引2的位置之后(也就是數(shù)組的倒數(shù)第二位),最后打印出了添加元素后的數(shù)組 [1, 2, 3, 5, 6]。
五、使用push()方法移除數(shù)組末尾的元素
除了在數(shù)組的末尾添加元素,push()方法同樣可以移除數(shù)組末尾的元素。具體操作方式是使用pop()方法彈出數(shù)組末尾的元素,下面是一個(gè)示例:
let arr8 = [1, 2, 3];
arr8.pop();
console.log(arr8); // [1, 2]
在上面的例子中,我們定義了一個(gè)數(shù)組arr8,并使用pop()方法移除了數(shù)組的末尾元素3,最后打印出了移除元素后的數(shù)組 [1, 2]。
六、使用push()方法移除數(shù)組指定位置的元素
和移除數(shù)組末尾的元素類似,push()方法也可以用于移除數(shù)組中指定位置的元素。具體操作方式是使用splice()方法把需要移除的元素刪除,下面是一個(gè)示例:
let arr9 = [1, 2, 3];
arr9.splice(1, 1); // 刪除索引為1的元素
console.log(arr9); // [1, 3]
在上面的例子中,我們定義了一個(gè)數(shù)組arr9,并使用splice()方法刪除了數(shù)組中索引為1的元素2,最后打印出了刪除元素后的數(shù)組 [1, 3]。
七、使用push()方法合并多個(gè)數(shù)組
除了合并一個(gè)數(shù)組到另一個(gè)數(shù)組中,push()方法也可以用來(lái)合并多個(gè)數(shù)組。具體操作方式是使用apply()方法或擴(kuò)展運(yùn)算符將多個(gè)數(shù)組合并到一個(gè)數(shù)組中,下面是一個(gè)示例:
let arr10 = [1];
let arr11 = [2];
let arr12 = [3];
Array.prototype.push.apply(arr10, arr11, arr12);
console.log(arr10); // [1, 2, 3]
在上面的例子中,我們定義了三個(gè)數(shù)組arr10、arr11、arr12,并使用apply()方法將三個(gè)數(shù)組合并到數(shù)組arr10的末尾,最后打印出了合并后的數(shù)組 [1, 2, 3]。
let arr13 = [1];
let arr14 = [2];
let arr15 = [3];
arr13.push(...arr14, ...arr15);
console.log(arr13); // [1, 2, 3]
在上面的例子中,我們同樣定義了三個(gè)數(shù)組arr13、arr14、arr15,并使用擴(kuò)展運(yùn)算符將三個(gè)數(shù)組合并到數(shù)組arr13的末尾,最后打印出了合并后的數(shù)組 [1, 2, 3]。
八、總結(jié)
以上就是js中push方法的各種用法詳解,具體包括基礎(chǔ)用法、使用apply()方法將一個(gè)數(shù)組(或者類數(shù)組對(duì)象)合并到另一個(gè)數(shù)組中、使用擴(kuò)展運(yùn)算符將一個(gè)數(shù)組(或者類數(shù)組對(duì)象)合并到另一個(gè)數(shù)組中、使用push()方法添加多個(gè)元素到數(shù)組指定位置、使用push()方法移除數(shù)組末尾的元素、使用push()方法移除數(shù)組指定位置的元素、使用push()方法合并多個(gè)數(shù)組。當(dāng)然,這些方法可以繼續(xù)結(jié)合其他方法和語(yǔ)法進(jìn)行實(shí)際應(yīng)用,希望本文對(duì)大家有所幫助。