簡體   English   中英

數組和循環中輸出的莫名其妙的變化

[英]Arrays and Inexplicable Change in Output in Loop

因此,我在數組中有以下數組:

日志請求:

console.log(cleanArray);

輸出:

[Array[2], Array[5], Array[2], Array[2], Array[5], Array[8], Array[7], Array[2], Array[3], Array[2], Array[2], Array[2], Array[2], Array[2], Array[3], Array[3], Array[2], Array[4], Array[5], Array[2], Array[6], Array[6], Array[20], Array[2], Array[13], Array[71], Array[1], Array[3], Array[3], Array[2], Array[3], Array[2], Array[2], Array[47], Array[2], Array[132], Array[1], Array[56], Array[2], Array[5], Array[7], Array[9], Array[13], Array[11], Array[1], Array[14], Array[7], Array[7], Array[13], Array[12], Array[4], Array[11], Array[11], Array[25], Array[15], Array[18], Array[10], Array[5], Array[53], Array[30], Array[2], Array[6], Array[2], Array[1], Array[2], Array[2], Array[2], Array[3], Array[2], Array[1], Array[1], Array[2], Array[2], Array[2], Array[2], Array[1], Array[3], Array[2], Array[2], Array[2], Array[2], Array[2], Array[2], Array[3], Array[1], Array[3], Array[3], Array[2], Array[1], Array[1], Array[1], Array[1], Array[1], Array[1], Array[2], Array[11], Array[40]]

正確地,如果要訪問cleanArray [0],您將獲得以下輸出:

日志請求:

console.log(cleanArray[0]);

您得到內部數組:

["Christian", "Pulisic"]

然而! 當我循環執行此操作時:

for (i in cleanArray){
    console.log("This is the sentence we are looking at " + cleanArray[i]);
    console.log(cleanArray[0]);

數組消失了,我得到了:

This is the sentence we are looking at Christian,Pulisic

而且,緊接其下方的日志會正確產生內部數組:

["Christian", "Pulisic"]

但是,當我在代碼的其他地方執行相同的完全循環時,不會遇到該問題。 到底是怎么回事?!

您正在字符串和對象之間進行連接。 Javascript沒有比在該對象上調用toString更好(或者只是將該對象轉換為字符串)。 在該數組上調用toString的結果是該數組的值,以逗號分隔。

您可以查看此鏈接以獲取更多信息: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/toString

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM