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

求给定字符串中同一个元素出现的位置并赋值给数组显示

求给定字符串中同一个元素出现的位置并赋值给数组显示

实在不明白错在哪里 求指教 <script> var str = "java-arrke-aboslue-all";        var arr =new Array([]); for(i=0; i<=str.length; i++) { var a = str.indexOf("a",i); arr.push(a); } console.log(arr);</script>
查看完整描述

3 回答

已采纳
?
nickylau82

TA贡献128条经验 获得超67个赞

	<script>
		"use strict"
		var test = function(){
			var str = "java-arrke-aboslue-all",
			ret = new Array(),
			i=0,
			length = str.length;
			for(;i<length;i++){
				var temp = str.indexOf("a",i);
				if(temp>0){
					ret.push(temp);
					i = temp;
				}
				
			}
			console.log(ret);
		};
		test();
	</script>
查看完整回答
反对 回复 2016-08-07
?
qq_二冬_0

TA贡献8条经验 获得超7个赞

我觉得你出现的错误是不是你保存的数组里会出现很多重复的值?这是因为虽然你起始的查找位置改变了,比如你从位置0开始查找,第一个a出现位置1,然后你又从位置1查找a,这个时候他返回的仍然是a基于整个字符串的位置,而不是a基于你索引开始位置(也就是你代码里的i)的位置。所以会有很多重复值,不知道你说的错误是不是这个

查看完整回答
1 反对 回复 2016-08-07
?
nickylau82

TA贡献128条经验 获得超67个赞

话说这是哪门课的练习题么?

怎么突然好多人在问这道题

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

添加回答

举报

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