繁体   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