JS:什么是伪数组

JavaScript019

JS:什么是伪数组,第1张

伪数组 ,即 arrayLike ,也称为类数组。是一种 按照索引存储数据 且具有 length 属性的 对象 。因为是对象,所以不能调用 数组的方法 ,比如 forEach() 、 push() 等。

下面的 a 对象就是一个伪数组:

isArrayLike 其实他是判断是不是类似于数组对象,但实际不是数组对象,比如 arguments,它的结构和Array对象相似,但是不能把它当做Array对象来看待,因为Array对象有自己的方法可以用,比如 push,pop。而arguments却没有这样的方法。

只需要一句,arr.__proto__=[]但是要注意浏览器支持__proto__才行,最新的浏览器应该都支持。

以下两种都可以解决此问题:

function transform(obj){

var arr = []

for(var item in obj){

arr.push(obj[item])

}

return arr

}

或者

public static void main(String[] args) {

String [] s={"2","3","4"}

int [] array=new int[3]

for(int i=0i<s.lengthi++){

array[i]=Integer.parseInt(s[i])

System.out.println(array[i])

}

}