Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Array.prototype.forEach 的文档说:
forEach 为数组的每个元素执行一次提供的回调,并分配一个值。 对于已删除或已初始化为未定义的索引,不会调用它。
为什么?
看看我运行的这个控制台“实验”:
图片链接
您可以清楚地看到 Array.forEach不会跳过undefined 值(这里的关键)。只有undefined在删除时才会被跳过。
undefined
在除 Mozilla Firefox 之外的所有浏览器中,forEach 函数会跳过数组中值为 undefined 的元素。该函数跳过所有浏览器中未分配的元素。
来自:https ://msdn.microsoft.com/en-us/library/bb397509.aspx