首先 需要统计给定字符串中字母a 出现的位置,并将每次出现的位置赋值到数组中,我的代码应该是数组不能赋值num 可是怎么做不会了 很白求帮助<script> var str="java-arrke-aboslue-all"; var arr []; function arr(){ for(i=0, i<=str.lengch , i++) { arr = console.log(str.indexOf("a")) } arr.push(arr) console.log(arr) }</script>
2 回答
woshiajuana
TA贡献211条经验 获得超152个赞
首先你indexOf只能返回第一个a出现的位置,也就是说你这样做无论循环多少次都是返回的是第一个a的位置
再者js数组定义错误 var arr[]不能这样定义数组 可以这样var arr =[];
而后你首先拿arr = console.log(str.indexOf("a"));这个时候 arr不再是数组,就是一个数值变量,
这个arr就肯定没有数组的push方法
慕莱坞9220042
TA贡献377条经验 获得超508个赞
你好,看你的代码,应该把赋值放在for循环里面吧,不然就是只把最后一次出现位置添加进去了,而且代码也不是很规范,我改了下,你可以看看:
<script> var str="java-arrke-aboslue-all"; var arr []; var arrCount = 0;//出现的次数 function arr(){ for(i=0, i<=str.lengch , i++) { if(str[i] != null && str[i].indexOf("a")){ console.log(str.indexOf("a")); arr.push(str.indexOf("a")); arrCount += 1; } } console.log(arr) } </script>
如有不对之处,还望谅解。
添加回答
举报
0/150
提交
取消