簡體   English   中英

Javascript將項添加到當前數組

[英]Javascript add item to current array

我正在嘗試將項添加到當前數組。

var arrayValues = new Array();
arrayValues.push("Value 1");
arrayValues.push("Value 2");
arrayValues = document.getElementsByTagName('a');
arrayValues.push("Value 3");

通過這種方式,我得到一個錯誤,我得到超值集合,當我嘗試添加它拋出的新項目后,我得到值1和值2錯誤:對象不支持此屬性或方法,這是推送方法。

收集超鏈接后,數組發生了什么? 如何添加新項目?

你的意思是arrayValues.push(document.getElementsByTagName('a'));

否則,您將分配getElementsByTagName()返回的NodeList ,它會覆蓋您剛剛將值推入的數組。

旁注:這里沒有理由使用new Array() 只需寫var arrayValues = [];

如果要將所有<a>元素推送到數組,則必須先將NodeList轉換為數組。 大多數人使用Array.prototype.slice.call(nodelist)

一旦有了數組,就可以將array.pushfunction.apply結合使用,在一次調用中推送它們。

生成的代碼如下所示:

var arrayValues = [];
arrayValues.push("Value 1");
arrayValues.push("Value 2");
arrayValues.push.apply(arrayValues, Array.prototype.slice.call(document.getElementsByTagName('a')));
arrayValues.push("Value 3");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM