伪数组 ,即 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])
}
}