我发现我不能在 javascript 中的空数组上使用 for every 循环。谁能向我解释这是为什么?
我已经在 javascript 中初始化了一个数组,如下所示:
var arr = new Array(10);
当我在数组上使用 for every 循环时,没有任何反应:
arr.forEach(function(i) {
i = 0;
});
结果仍然是一个未定义值的数组:
arr = [ , , , , , , , , , ];
我认为也许由于数组中的每个项目都未定义,它甚至不执行 forEach。我认为它仍然会迭代未定义的项目。谁能解释为什么会发生这种情况?这个问题不是问如何最有效地用零填充数组,而是询问有关 foreach 循环和空数组交互的详细信息.
如果将数组初始化修改为:
var arr = Array.apply(null, Array(10))
然后你可以像这样执行 foreach :
arr.forEach(function(el, index) {
arr[index] = 0;
});
结果是:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)