我正在使用 freecodecamp研究,需要找到一种方法将数字转换为位置数字的总和,如 [1234]到[1000,200,30,4 ] 即可。 代码如下所示:
for(var i=0;i<newArr.length;i++){
var order = newArr.length-1 - i;
newArr.splice(i,1,newArr[i]*1e(order));
}
这里newArr将是1234。 节点出错:无效令牌1e(订单)。 需要一些建议如何使其正确。
答案 0 :(得分:1)
我认为你可以使用以下逻辑
var n = 123456;
n=n.toString();
var arr = n.split("");
var b = arr.map(function(x,i) {
return x * Math.pow(10, (arr.length-i-1));;
});
console.log(b);
&#13;
答案 1 :(得分:1)
var a = 1234
b = []
while(a>0){
b.unshift(a%10 * (10 ** b.length))
a = parseInt(a/10)
}
console.log(b)
&#13;
答案 2 :(得分:1)
Number.prototype.padRight = function (n,str) {
return (this < 0 ? '-' : '') + (Math.abs(this)+ Array(n-String(Math.abs(this)).length+1).join(str||'0'));
}
var digits = "1234"
var tempCounter= digits.length;
var result=[];
for(var i=0;i<digits.length;i++,tempCounter--){
result.push(parseInt(digits[i]).padRight(tempCounter))
}
console.log(result);