javascript - 对数组应用条件

标签 javascript arrays function

我在应用条件后返回数组时遇到问题。

在这里,

给定数组:[1, 2, 3]

条件1:如果是奇数,则应乘以*2。

条件2:如果是偶数,则返回它。

预期结果: [2, 2, 6]

这是我的方法;

function oddToEven(array) {

  var evens = [array];

  var odds = [array];


 if (array %2 !== 0){

    array *2;

    return odds;

   } else {

     return evens;

  }

  }

  oddToEven(1,2,3); // returns => [1]

我知道这是非常基本的, 当然我的方法都是错误的,但这是我学习 JS 的第一周,我希望你们中的一些人能给我一些启发!

非常感谢

最佳答案

使用.map将一个数组转换为另一个数组 - 每次调用回调函数返回的将是新数组中同一索引中的项目:

const oddToEven = array => array.map(
  num => num % 2 === 1 ? num * 2 : num
);
console.log(oddToEven([1, 2, 3]))

或者,更详细地说:

function oddToEven(array) {
  return array.map(function(num) {
    if (num % 2 === 1) // Odd
      return num * 2;
    else // Even (or not an integer)
      return num;
  }
}

当然,这假设原始数组中的每个项目都是整数。

关于javascript - 对数组应用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55509776/

相关文章:

javascript - 适用于不同设备的响应式 Canvas

C# 创建和使用函数

javascript - 如何生成序列的每个排列的数组(具有重复项)?

php - 口音/PHP/Javascript/未捕获的语法错误意外标识符

python - 在列表上迭代函数,并附加返回值

javascript - 如何在 .html() 中添加链接

javascript - 按钮未正确更新输出

javascript - 从原型(prototype)函数内的函数增加 this.clicks

javascript - 如何使 Node.js MongoDB 遵循对象引用?

python - 根据第 0 个列表的 argsort 对嵌套列表中的列表进行排序