为什么以下代码会导致无限循环?const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; while (arr.length > 0) { console.log(arr.shift()); arr.push(arr.shift()); } 最佳答案 arr.shift()在一个空数组上返回undefined,因此,一旦移出最后一个原始数字,您将得到undefined,然后将其推回数组,因此数组永远不会达到零长度。