for循环数组中的所有数字都需要显示

时间:2019-02-16 14:57:51

标签: javascript arrays

我需要帮助以确保显示数组中的所有数字,因为仅显示了前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]

2 个答案:

答案 0 :(得分:1)

这比您想象的要简单得多。您应该使用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));

答案 1 :(得分:1)

.map(Number)之后仅使用.split

function tizer(n) {
  return (n + '').split('').map(Number);
}

console.log(tizer(8675));