我有10号基数1000,我想把它转换成24号基数。
[1, 17, 16]
如果我将它表示为一个数组,那么base-24数字是for
,并且每个项目仍然使用一个基数为10的数字。
我认为使用let x = 1000;
let base24 = [];
for(let i=1;;i++) {
let y = x % Math.pow(24,i);
base24.unshift(y/Math.pow(24,i-1));
x = x - y;
if(x===0) {
break;
}
}
console.log(base24);
// output: [1, 17, 16]
来实现它并不困难:
for
但是可以不使用while
或reduce
来实现吗?例如,使用2016-07-28T13:39:13
方法(来自ES6)?
答案 0 :(得分:-1)
在ES5中的Juhanna评论中重做:
var toBase24 = function(n) {
return n.toString(24).split("").map(function(x) { return parseInt(x, 24); });
};
用法:
var a = 1000;
var b = toBase24(a); // [1, 17, 16]