【发布时间】:2017-06-28 18:49:02
【问题描述】:
编写一个函数将传入的数字转换为二进制字符串。该函数正在创建一个正确的二进制序列,但我的比较函数在比较等于 binaryIndex[0] 的数字时跳过了第一个索引(例如 n = 32、16、8、4)。任何想法为什么?
这一步创建一个二进制有序数组,我将使用它来检查传入的参数:
var Bin = function(n) {
var x =1;
var binSeq=[];
var converted=[];
for (var i=0; x <= n; i++) {
binSeq.unshift(x)
x = x+x
}
console.log(binSeq)
下一步应该比较并输出 1 和 0 的二进制序列:但它正在跳过 if (n === binSeq[0])
for (var i=0; i < binSeq.length; i++) {
if ((n - binSeq[i]) >= 0) {
converted.unshift(1);
n=n-binSeq[i]
} else {converted.unshift(0)}
}
console.log(converted)
}
CodePen 链接:https://codepen.io/fdeppe/pen/GEozKY?editors=1111
【问题讨论】:
标签: javascript function binary