如何乘以奇数索引?

时间:2018-10-05 19:50:00

标签: javascript indexing

我的Javascript代码有点问题。这是我的问题:

我想写一个函数,输入一个数字表。如果数字位于偶数索引中,则按原样返回。但是,如果数字位于 odd 索引中,则将返回乘以其索引

例如:

输入:

  

[5,10,15,20,25,30,50,100]

返回:

  

[5、10、15、60、25、150、50、700]


所以,我的代码:

function multiplyNum(numbers) {
  const multiply = numbers.map(function(number) {
      for (let i = 0; i < numbers.length; i++) {
        if (numbers[i] % 2 == 0) {
          return numbers
        }
        if (numbers[i] % 2 !== 0) {
          return numbers
        }
      });
    return multiplyNum
  }

2 个答案:

答案 0 :(得分:3)

您根本不需要for循环,可以从映射中获取索引并乘以奇数:

function multiplyNum(numbers) {
  return numbers.map(function(number, index) {
    return index % 2 ? number * index : number;
  });
}

console.log(multiplyNum([5, 10, 15, 20, 25, 30, 50, 100]));

答案 1 :(得分:2)

您可以将条件运算符映射为支票。

var array = [5, 10, 15, 20, 25, 30, 50, 100],
    result = array.map((v, i) => i % 2 ? v * i : v);

console.log(result);