为了账号安全,请及时绑定邮箱和手机立即绑定

关于代码错误问题在线等

关于代码错误问题在线等

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


查看完整回答
1 反对 回复 2016-08-06
?
慕莱坞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>

如有不对之处,还望谅解。

查看完整回答
反对 回复 2016-08-06
  • 2 回答
  • 0 关注
  • 1462 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信