猿问

关于代码错误问题在线等

首先 需要统计给定字符串中字母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>


坐等扮猪吃老虎3363200
浏览 1466回答 2
2回答

woshiajuana

首先你indexOf只能返回第一个a出现的位置,也就是说你这样做无论循环多少次都是返回的是第一个a的位置再者js数组定义错误  var arr[]不能这样定义数组  可以这样var arr =[];而后你首先拿arr = console.log(str.indexOf("a"));这个时候 arr不再是数组,就是一个数值变量,这个arr就肯定没有数组的push方法

慕莱坞9220042

你好,看你的代码,应该把赋值放在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>如有不对之处,还望谅解。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答