others - Javascript - 无法打印数组的元素

我正在尝试使用javascript的each循环打印数组元素到控制台。


 let arr=["1,2,3","iosajah","undefined"];


 for(let data in arr)


 { 


 console.log(data);// prints 4,0,1,2 


 if(typeof data ==="undefined")


 {


 //do something



 }


 } 



console.log(data) prints 4,0 ,1 ,2

我希望它能打印每个数组元素

时间:

你可以采取一个for ... of语句,从而获取元素而不是for ... in语句,从而获得数组的索引。

for...offor...in之间的差异

它们之间的主要区别在于它们迭代的内容。

for...in语句以任意顺序迭代对象的可枚举属性

for...of语句迭代iterable对象定义的值。


let arr = ["1,2,3","iosajah","undefined"];


for (let data of arr) {


 console.log(data);


}

要按索引顺序获取元素,可以采取标准for语句,从第一个元素到数组结尾。


let arr = ["1,2,3","iosajah","undefined"];


for (let i = 0; i < arr.length; i++) {


 console.log(arr[i]);


}

你的For/In语句是遍历对象的属性,我们需要值,而不是属性,你可以用这种方式打印。


let arr=["1,2,3","iosajah","undefined"];


 for(i=0;i<arr.length;i++)


 {


 console.log(arr[i]);


 if(typeof data ==="undefined"){


 //do something


 }


 }



for in循环对对象的可枚举属性名进行循环,则打印数组的索引,如果要对值进行迭代,请使用以下方法之一:


for(let value of array)



或者


Object.keys(array).map(key => console.log(array[key]))



...