Javascript中什么是伪数组?如何将其转化为标准数组?
2017-02-01 本文已影响0人
王康_Wang
-
slice(start,end)
用法:
slice方法用于返回数组中一个片段或子数组,如果只写一个参数返回参数到数组结束部分,如果参数出现负数,则从数组尾部计数(-3意思是数组倒第三个),如果start大于end返回空数组,值得注意的一点是slice不会改变原数组,而是** 返回一个新的数组 **。
当slice方法没有参数时,返回值与原数组相同。
var a = new Array(1,2,3,4,5);
console.log(a); //[1, 2, 3, 4, 5]
console.log(a.slice(1,2));//2
console.log(a.slice(1,-1));//[2, 3, 4]
console.log(a.slice(3,2));//[]
console.log(a); //[1, 2, 3, 4, 5]
console.log(a.slice());//[1,2,3,4,5]
-
什么是伪数组?
无法直接调用数组方法或应用length属性,但仍可以使用标准数组的遍历方法来遍历它们。
典型的伪数组是函数的参数,还有像调getElementsByTagName
,document.childNodes
之类的,它们都返回NodeList对象都属于伪数组。 -
将伪数组转化为标准数组:
function transform(a,b,c) {
var newArr = Array.prototype.slice.call(argument);
return newArr;
}