慕妹3146593
我想这可能是一个简单的误解for...of。在每次迭代中,您都试图访问 index 处的项目a[value-1]。您的第一个undefined值来自0您尝试访问的值a[0-1], 或a[-1]。第二个来自 value 11,你试图访问的地方a[11-1],或者a[10]。您的数组在 index-1和 index处没有项目10,因此它们都是undefined.我在您的代码中添加了一些日志记录以帮助上述解释:var a = [1, 2, 3, 4, 5, 6, 0, 11]for (let value of a) { console.log(`value is ${value}`); console.log(`Getting item at a[${value-1}]`); console.log(`Item is ${a[value - 1]}`); console.log(`-----`);}.as-console-wrapper { max-height: 100vh !important; }