【问题标题】:How to write a function that returns the elements on odd positions in an array如何编写一个函数来返回数组中奇数位置的元素
【发布时间】: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


【解决方案1】:

只过滤数组,返回一个只有奇数的数组:

var array = [1,2,3,4,5];
console.log(array.filter(function(el, ind){
  return ind % 2 === 0;
}));

【讨论】:

  • 请不要回答工作问题,而是关闭问题。
  • @NinaScholz 我真的很抱歉我不知道这条规则。下次会做
猜你喜欢
  • 2020-02-16
  • 1970-01-01
  • 2013-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-25
相关资源
最近更新 更多