帮忙把这段字符串转换成数组

字符串如:“010110”,“100101” (全是六位的,不是二进制)
现在要得到字符串里面所有“1”的位置,并返回成数字组,如:2,4,5; 1,4,6

请尽量使用ASP函数,或者javascript函数实现。
1楼的加点注释吧。 2楼的不能成功实现。
最新回答
我怕冷抱紧我

2024-12-02 01:52:52

<script type="text/javascript">
/**
*param str 解析的字符串
*param reg 查找的字符串
*return Array 返回数组
*
*思路:从0位置开始查找第一个reg字符串,将位+1(javascript index从0开始 所以加1)添加到数组,
* 从上一次查到的位置 开始继续查找下一个 如此循环 当本次查到的位置大于等与上一次的位置时跳出循环
*/
var getStringPositionArray=function(str,reg){
var arr= new Array();
var strLen=str.length;
var cursor=0;
while(cursor<strLen){
var pos=str.indexOf(reg,cursor);
if(cursor>pos)break;
cursor=pos+1;
arr.push(pos+1);
}
return arr;
}
var btyeStr="010110";
alert(getStringPositionArray(btyeStr,"1"));
var btyeStr="100101";
alert(getStringPositionArray(btyeStr,"1"));
</script>
玩贴吧的好菇凉

2024-12-02 05:55:05

<script type="text/javascript">
function getIndex(str){
var res = [];
var index =index=str.indexOf("1");
while(index !=-1){
res[res.length]= index;
index++;
if(index<=str.length)
index =index=str.indexOf("1",index);
else
break;
}
//显示结果
var show ="";
for(var i=0;i<res.length;i++){
show+=res[i];
}
alert(show);
//返回结果
return res;
}
//测试
getIndex("1011010");
</script>
不好意思,刚才的代码有点问题,已经修改了。 我那个你没有加<script> 标签 吧,现在加了。