JavaScript循环和数组常用操作

时间:2022-09-08 14:58:03

 

while循环

语法:

do while循环

语法:do{循环体}while(条件表达式);
特点:do while循环不管条件是否成立,无论如何循环体都会执行一次。
使用场合:用户输入密码,如果密码不是123456,继续输入密码,直到密码正确为止
例子:do {var psd = prompt("请输入密码");}while( psd != "123456");

for循环

语法:for(语句1;语句2;语句3){循环体}
一般情况下:语句1写循环增量的声明,语句2写循环判断条件,语句3写循环增量的改变

break和continue

循环中遇到break,会跳出整个循环
continue //英文翻译为继续。循环中遇到continue会结束当前本次循环,整个循环还是会等到循环条件不成立或遇到break才会结束整个循环。
例题:计算1-100之间除了能被7整除之外所有整数的和。
var sum = 0;for(var i = 1 ; i <= 100; i++){if(i % 7 == 0){continue;}sum += i;}console.log(sum);

嵌套循环

只要是符合js语言的代码都可以做为循环体,

数组

数组的声明:1、使用构造函数的方式声明(如果声明一个东西用了new关键字,那就 就是构造函数。),语法var 数组名 = new Array();
3,输入如何存放数据,使用下标索引,下标:从0开始依次累加的一个整数语法:数组名[下标] = 值;arr[0] = 10;
4,取值 使用下标索引。console.log(arr[0]);console.log(arr[1]);//如果没有下标为1的值,会得到undefined.
5,修改值,使用下标索引arr[0] = 100;console.log(arr[0]); //值为100注意:下标其实可以使用字符串,前提是它内容本身是数字,例如:"10";会转换成数值的10注意:如果这样声明数组,小括号里面只有一个Number类型的值的话,那个这个值是数组的长度,如果存的一个值不是Number类型的话,这个值就是这个值,不会成为这个数组的长度。var arr2 = new Array(10);consolie.log(arr2);得到的结果为arr2.length(10).
常用的好用的声明方法:var arr4 = [10,20,30,40,50];依旧找对应的下标取值从0开始,例如我要取30的值console.log(arr4[2]);
6,js中的数组和其他语言中的数组有点不一样,js中的数组可以存放任意的值。varr arr5 = ["123",10,true,undefined,null,function test(){alert("哈哈")}];虽然js中的数组可以存放任意类型的值,但是不建议这样做。
js中的数组的长度是可以更改的。

数组的长度

1、数组的长度是由数组里面存放元素的个数,用length来获取,我们可以通过修改length的值,从而改变数组的长度。例子:var arr1 = [10,20,30,40,50]arr1.length = 10;后面没有给值的元素的值是undefined.
2、如果把数组length的值改小
var arr2 = [10,20,30,40,50]arr2.length = 3;后面2个的值就被删了,如果要得到arr2[4],结果为undefined,再如果恢复该数组的长度,但是值就不能恢复了,
3、清空数组var arr3 = [1,2,3,4];第一种方法:修改数组的length为0;第二种方法:可以让这个数组 指向一个空数组arr3 = [];
4、获得数组最后一个下标等于数组的length - 1.5、使用数组的长度来添加新元素

数组的遍历

1、使用for循环正向遍历
2、使用for循环反射遍历

例:

1  var arr = [10,20,30,40,50];
2 for (var i = arr.length-1; i >= 0; i--){
3 console.log(arr[i]);
4 } //得到结果[50,40,30,20,10]

翻转数组两种方法

 var arr = [10,20,30,40,50];
for(var i = 0 ; i < arr.length / 2; i++){
//i是可以控制循环的次数的,也就是交换的次数
//如何交换 下标 第0位 和 arr.length-1-0
// 1 和 arr.length-1-1
// 2 和 arr.length-1-2

var temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length-1-i] = temp;

}
console.log(arr);

  

// 第二种
//使用反向遍历数组,把每个元素装进新数组中。
  var arr = [10,20,30,40,50];
  var arrNew = [];
  for(var i = arr.length-1 ; i >= 0 ; i--) {
    arrNew[arrNew.length] = arr[i];
  }
  console.log(arrNew);