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