如何让偶数数组首先打印而不是赔率?

时间:2018-01-16 22:28:46

标签: javascript arrays

所以我有这个功能,我需要拿出平均值和赔率并将它们放入单独的数组中,但我需要首先打印evens数组而不是赔率。

var numbersArray = [1,2,34,54,55,34,32,11,19,17,54,66,13];

function divider(numbersArray) {
  var evensOdds = [[], []];
    for (var i = 0; i < numbersArray.length; i++) {
      evensOdds[i & 1].push(numbersArray[i]);
  }
  return evensOdds;
}

2 个答案:

答案 0 :(得分:6)

如果要将数字除以偶数和奇数值,而不是使用索引(i),请使用值numbersArray[i] % 2确定要推送的子数组。

var numbersArray = [1,2,34,54,55,34,32,11,19,17,54,66,13];

function divider(numbersArray) {
  var evensOdds = [[], []];
  for (var i = 0; i < numbersArray.length; i++) {
    evensOdds[numbersArray[i] % 2].push(numbersArray[i]);
  }
  return evensOdds;
}

console.log(divider(numbersArray));

如果要通过偶数和奇数索引拆分它们,请使用(i + 1) % 2确定要推入的子数组:

var numbersArray = [1,2,34,54,55,34,32,11,19,17,54,66,13];

function divider(numbersArray) {
  var evensOdds = [[], []];
  for (var i = 0; i < numbersArray.length; i++) {
    evensOdds[(i + 1) % 2].push(numbersArray[i]);
  }
  return evensOdds;
}

console.log(divider(numbersArray));

答案 1 :(得分:1)

只是为了好玩,接受答案的forEach版本。

    var numbersArray = [1,2,34,54,55,34,32,11,19,17,54,66,13];
    var even_odd = [ [], [] ];

    numbersArray.forEach( e => even_odd[e%2].push(e) );

    console.log(even_odd);