上次我们学习了js代码的循环,其中包括for循环、while循环、do-while循环及其循环的区别。现在我们学习coutinue、length和indexOf。
coutinue:只能用在循环体内,跳过本次循环,继续下一次循环;break:用在循环体内的,停止当前所在的循环。例:
如何判断输入的是否是数值。(NAN不等于NAN) isNaN 检测值是否不是一个数值类型。如果不是数值,则返回true。是数值 则回false。如何累计相加:
var sum=0 for(var i=1;i<=5;i++){ sum=sum+1;}
length 属性 获取获取字符串值的个数(长度) length-1 获取到字符串最后一个字符的下标。
indexOf 用来检测值是否在字符串中存在,如果存在 返回所在位置的下标;如果不存在 返回-1.
var res = str.indexOf('a'); console.log(res) if(res == -1){ console.log('不存在')}else
{console.log('在下标为'+res+'位置')}
indexOf('要检测的字符串‘) 检测字符串在变量中是否存在,返回值:-1 不存在 所在下标 存在
例如:var a = '1123214gaeg'; var b = '' for(var i=0;i<a.length;i++){ if(b.indexOf(a[i]) == -1){b = b+ a[i] } } console.log('最新的b='+b);
统计出现的次数:var a = '1123214g1ae1g'; var count = 0; for(var i=0;i<a.length;i++){
if(a[i] == '1'){ count++;} } console.log(count)
例题如下:将字符串a1b2c3d4aa里面的数字去除 只要字母,并且字母给去掉重复的
var str = 'a1b2c3d4aa'; var str2 = ' ' ; for(var i=0;i<str.length;i++){
console.log(str[i]) 字符串里的每一个字符 isNaN 用来字符是否是数值,是数字 返回false 不是数字 返回true
if(isNaN(str[i])){ if(str2.indexOf(str[i]) == -1){ str2 = str2 + str[i] } } } console.log(str2)
10.将字符串a1b2c3d4aa里面的数字和字母分开存储
<script>
var str = 'a1b2c3d4aa'
var num = ''; //纯数字
var str2 = '' //纯字母
for(var i=0;i<str.length;i++){
// str[i] //所有的字符
if(isNaN(str[i])){
str2 = str2 + str[i]
}else{
num = num + str[i]
}
}
console.log(num,str2)
</script>
说了这么多,我们进行实践,多做几道题进行及以加深。
1. 100-1000所有数的平均值。 答案:
2. 1到100所有能被5整除的数的和。 答:
3. 1,2,5元钱 凑满40元有多少种可能。 答:
4.打印出9*9乘法表。 答:
5.将字符串’admin123’字符串反过来变成“321nimda”,使用for循环。 答: