【发布时间】:2017-05-25 17:29:35
【问题描述】:
如果我只是运行一个 for 循环,我可以让它返回数字的奇数索引,但是当我试图把它变成一个函数时它什么都不返回?
function oddArrayIndex( arrayName, emptyIndex ) {
for (var i = 1; i < arrayName.length; i += 2) {
emptyIndex.push(arrayName[i]);
}
}
var arr = [ 1, 2, 3, 4, 5, 6, 7];
var oddIndex = [];
oddArrayIndex(arr, oddIndex);
【问题讨论】:
-
oddArrayIndex没有return语句,那么您希望它返回什么?您将所有值添加到第二个参数,因此在您调用oddArrayIndex之后,oddIndex将保存这些值。这是一个不同寻常的设计决定,但它确实有效。如果您不熟悉函数,请查看eloquentjavascript.net/03_functions.html。 -
在for循环之后,您需要使用return语句手动返回新数组
-
你正在改变函数内部的数组。相反,在函数内部创建一个新数组,然后返回它。
-
您的代码运行良好,结果在
oddIndex。 -
菜鸟错误。谢谢!
标签: javascript arrays node.js function