我需要帮助以确保显示数组中的所有数字,因为仅显示了前2个数字。

function tizer(n) {
  var firstArray = (""+n).split('');
  var newArray = [];
  for (var i = 0; i < firstArray.length; i++) {
    newArray[i] = parseInt(firstArray.shift(),10);
  }
  return newArray;
}

console.log(tizer(8675));


结果:[8,6]

预期:[8,6,7,5]

最佳答案

它比您想象的要简单得多。您应该使用firstArray[i]而不是firstArray.shift()



function tizer(n) {
  var firstArray = (""+n).split('');
  var newArray = [];
  for (var i = 0; i < firstArray.length; i++) {
    newArray[i] = parseInt(firstArray[i],10);
  }

  // Sort odd first
  var arraySorted = [...newArray.filter(item => item%2 == 1), ...newArray.filter(item => item%2 == 0)]

  return arraySorted;
}

console.log(tizer(8675));

关于javascript - for循环数组中的所有数字都需要显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54724351/

10-09 00:24