[英]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.push
與function.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.