push() 方法將一個或多個元素添加到數組的末尾,並返回新數組的長度



var numbers = [1, 2, 3]; numbers.push(4); console.log(numbers); // [1, 2, 3, 4] numbers.push(5, 6, 7); console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]

 

var sports = ["soccer", "baseball"];
var total = sports.push("football", "swimming");

console.log(sports); 
// ["soccer", "baseball", "football", "swimming"]

console.log(total);  
// 4

  

語法

arr.push(element1, ..., elementN)

參數

elementN
被添加到數組末尾的元素。

返回值

當調用該方法時,新的 length 屬性值將被返回。

描述

push方法將值追加到數組中。

push 方法有意具有通用性。該方法和 call() 或 apply() 一起使用時,可應用在類似數組的對象上。push 方法根據 length 屬性來決定從哪里開始插入給定的值。如果 length 不能被轉成一個數值,則插入的元素索引為 0,包括 length 不存在時。當 length 不存在時,將會創建它。

唯一的原生類數組(array-like)對象是 Strings,盡管如此,它們並不適用該方法,因為字符串是不可改變的。

 

合並兩個數組

var vegetables = ['parsnip', 'potato']; var moreVegs = ['celery', 'beetroot']; // 將第二個數組融合進第一個數組 // 相當於 vegetables.push('celery', 'beetroot'); Array.prototype.push.apply(vegetables, moreVegs); console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']

  

像數組一樣使用對象

如上所述,push 是特意設計為通用的,我們可以使用它來獲得便利。正如下面的例子所示,Array.prototype.push 可以在一個對象上工作。 注意,我們沒有創建一個數組來存儲對象的集合。 相反,我們將該集合存儲在對象本身上,並使用在 Array.prototype.push 上使用的 call來調用該方法,使其認為我們正在處理數組,而它只是像平常一樣運作,這要感謝 JavaScript 允許我們建立任意的執行上下文。

var obj = {
    length: 0,

    addElem: function addElem (elem) {
        // obj.length is automatically incremented 
        // every time an element is added.
        [].push.call(this, elem);
    }
};

// Let's add some empty objects just to illustrate.
obj.addElem({});
obj.addElem({});
console.log(obj.length);
// → 2

  注意,盡管 obj 不是數組,但是 push 方法成功地使 obj 的 length 屬性增長了,就像我們處理一個實際的數組一樣。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM