一、push()方法
JavaScript的數組對象提供了一個名為push()的方法,可以用於向數組的末尾添加一個或多個元素。
let arr = [1, 2, 3];
arr.push(4); // [1, 2, 3, 4]
arr.push(5, 6); // [1, 2, 3, 4, 5, 6]
該方法會直接修改原數組,返回值為添加元素後數組的長度。
二、unshift()方法
除了使用push()方法向數組末尾添加元素外,還可以使用unshift()方法向數組的開頭添加元素。
let arr = [2, 3, 4];
arr.unshift(1); // [1, 2, 3, 4]
arr.unshift(-2, -1, 0); // [-2, -1, 0, 1, 2, 3, 4]
該方法同樣直接修改原數組,返回值為添加元素後數組的長度。
三、splice()方法
除了在數組末尾或開頭添加元素外,還可以通過splice()方法在數組的任意位置添加元素。該方法可以接受多個參數。
- 第一個參數為添加或刪除的位置,必需。
- 第二個參數為要刪除的元素個數(如果不刪除元素,則為0),可選。
- 第三個及以後的參數為要添加的新元素,可選。
let arr = [1, 2, 3];
arr.splice(1, 0, 1.5); // [1, 1.5, 2, 3]
arr.splice(2, 1, 2.5, 2.8); // [1, 1.5, 2.5, 2.8, 3]
該方法同樣直接修改原數組,返回值為被刪除的元素(如果沒有被刪除則返回空數組)。
四、concat()方法
concat()方法不會直接修改原數組,而是返回一個新數組,該新數組包含原數組和要添加的元素。
let arr1 = [1, 2];
let arr2 = [3, 4];
let arr3 = arr1.concat(arr2); // [1, 2, 3, 4]
五、Array.from()方法
Array.from()方法可以將類數組對象或可迭代對象轉換為數組,同時可以傳入一個映射函數對數組中的元素進行轉換。
let str = 'hello';
let arr = Array.from(str); // ['h', 'e', 'l', 'l', 'o']
如果需要在新數組中添加元素,可以結合push()方法一起使用。
let arr1 = [1, 2];
let arr2 = [3, 4];
let arr = Array.from(arr1).concat(arr2); // [1, 2, 3, 4]
六、展開運算符(…)
展開運算符可以將數組或類數組對象(例如arguments對象)中的所有元素展開為一個新數組,同時也可以在展開時添加新元素。
let arr1 = [1, 2];
let arr2 = [3, 4];
let arr = [...arr1, ...arr2]; // [1, 2, 3, 4]
在展開時添加新元素:
let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]
七、Array.push.apply()方法(已廢棄)
在ES5中,還可以通過Array.push.apply()方法向數組添加元素。
let arr = [1, 2, 3];
Array.prototype.push.apply(arr, [4, 5]); // [1, 2, 3, 4, 5]
但是,在ES6中,已經可以使用展開運算符來實現同樣的效果,因此Array.push.apply()方法已經被廢棄。
八、總結
數組是JavaScript中最常用的數據結構之一,添加元素的方式也有多種。選擇不同的方式可以根據實際需求來決定,例如在中間位置添加元素時可以使用splice()方法,如果要添加元素的個數較多可以使用concat()方法或展開運算符,如果要添加的元素只有一個可以使用push()方法或unshift()方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/206354.html