【发布时间】:2016-03-24 15:46:03
【问题描述】:
我试图从二进制文件中获取所有索引,例如“01000111”,因此它应该返回一个数组 [1,2,3,7];
我试过这个来获取索引:
var getIndex1 = function(binary){
var str = binary.toString();
var indices = [];
for(var i=0; i<str.length;i++) {
if (str[i] == "1"){
indices.push(i);
}
}
return indices;
};
当我尝试使用该函数获取索引时,我得到了这个:
return getIndex1("01000111"); // it returns [0,2,3,4]
我尝试了相同的函数来从 scissorss 中获取“s”的所有索引,它工作正常。有人遇到过这种问题吗?我在这里缺少什么?请帮忙,谢谢。
【问题讨论】:
-
你的函数不为输入
"01000111"返回[0,2,3,4]。它返回[1,5,6,7]。无论如何,问题在于您的代码是从左到右而不是从右到左计数的。 -
哇,这很奇怪吗?我在 freecodecamp 上试过这个,但它为输入“01000111”返回 [0,2,3,4]
-
是浏览器的原因吗? @Pointy
-
尝试在您自己的浏览器中运行代码。我无法在您提到的网站上查看它,因为它似乎已损坏。
-
我觉得自己很愚蠢,谢谢@Pointy,我看错了方向,我从右到左看。所以我只需要反转二进制文件即可获得结果。你可以回答这个问题,所以我可以投票:D
标签: javascript arrays binary