4篇笔记搞定JavaScript—-第三篇
- 2019 年 10 月 29 日
- 筆記
数组:
数组对象用来在单独的变量名中存储一系列的值。
我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象:
var myArray=new Array();
有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。
第一种方法:
var mycars=new Array(); mycars[0]="Saab"; mycars[1]="Volvo"; mycars[2]="BMW";
第二种方法:
var mycars=new Array("Saab","Volvo","BMW");
注意:如果你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量。
访问数组
通过指定数组名以及索引号码,你可以访问某个特定的元素。
document.write(mycars[0]);
修改已有数组中的值
如需修改已有数组中的值,只要向指定下标号添加一个新值即可:
mycars[0]="Opel";
数组的属性:
length:获得数组的长度
var len = arr.length
如果保存到变量里面,这个时候变量里面保存的是数字,如果说直接把arr.length写到循环里面,循环的时候会在去arr.length找长度(个数)
格式:var arr=[10,20,30];
数据:[10,20,30]
下标:[0,1,2]
数据 |
10 |
20 |
30 |
---|---|---|---|
下标 |
0 |
1 |
2 |
案例求学生成绩之和:
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> var arr=[96,98,88,92,45,48,56,96,87,55,62,22]; var len = arr.length; alert(len); var sum=0; for(var i=0;i<len;i++){ sum = sum+arr[i];[/i] } [i]document.write("学生总成绩为:"+sum);[/i] </script> </head> <body> </body> </html>
效果:
案例:求学生平均成绩
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> var arr=[96,98,88,92,45,48,56,96,87,55,62,22]; var len = arr.length; var sum=0; for(var i=0;i<len;i++){ sum = sum+arr; } var avg = sum/len; document.write("学生平均成绩为:"+avg); </script> </head> <body> </body> </html>
效果:
案例:数组排序(从小到大)->冒泡排序法:
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> function bubbleSort(array){ for(var j=0;j<array.length;j++){ for(var i=0;i<=array.length-j-1;i++){ if(array>array[i+1]){ var temp = array; array.splice(i,1,array[i+1]); array.splice(i+1,1,temp); } } } return array; } document.write(bubbleSort([21,5,6,78,3,1,25])); </script> </head> <body> </body> </html>
效果:
二维数组
二维数组内部数据为数组,如下Arr二维数组
var arr1 = [23,12,56]; var arr2 = [45,12,33]; var arr3 = [34,44,55]; var arr=[arr1,arr2,arr3]; Arr = [ [23,12,56], [45,12,33], [34,44,55], ];
案例:求二维数组的最大值
<!DOCTYPE> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <script type="text/javascript"> var arr = [ [23,12,56], [45,12,33], [34,44,55], ]; var max = arr[0][0]; var xiabiao1 = 0; var xiabiao2 = 0; for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length;j++){ if(max<arr[j]){ max = arr[j]; xiabiao1=i; xiabiao2=j; } } } document.write("最大值为:"+max+",下标为:"+xiabiao1+","+xiabiao2); </script> </head> <body> </body> </html>
效果:
数组方法:
arr.concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
连接数组和字符串:
<script type="text/javascript"> var a = [1,2,3]; document.write(a.concat(4,5)); </script>
输出:
1,2,3,4,5
连接两个数组:
<script type="text/javascript"> var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; var arr2 = new Array(3); arr2[0] = "James"; arr2[1] = "Adrew"; arr2[2] = "Martin"; document.write(arr.concat(arr2)); </script>
输出:
George,John,Thomas,James,Adrew,Martin
arr.join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
<script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr.join()) </script>
输出:
George,John,Thomas
arr.pop() 方法用于删除并返回数组的最后一个元素
<script type="text/javascript"> var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; document.write(arr); document.write("<br />"); document.write(arr.pop()); document.write("<br />"); document.write(arr); </script>
输出:
George,John,Thomas
Thomas
George,John
arr.reverse()用于颠倒数组中元素的顺序
<script type="text/javascript"> var arr = new Array(3); arr[0] = "George"; arr[1] = "John"; arr[2] = "Thomas"; document.write(arr + "<br />"); document.write(arr.reverse()); </script>
输出:
George,John,Thomas
Thomas,John,George
识别方法和属性:
属性:对象.属性名;
方法:对象.方法名();
Math 对象:
Math.pow(n1,n2):求n1的n2次方
<script type="text/javascript"> document.write(Math.pow(0,0) + "<br />"); document.write(Math.pow(-2,3) + "<br />"); document.write(Math.pow(-2,4) + "<br />"); </script>
结果:
1
-8
16
Math.abs(n):可返回数的绝对值
<script type="text/javascript"> document.write(Math.abs(7.25) + "<br />") document.write(Math.abs(-7.25) + "<br />") document.write(Math.abs(7.25-10)) </script>
输出:
7.25
7.25
2.75
Math.random():可返回介于 0 ~ 1 之间的一个随机数
Math.floor(n):向下取整,不大于n的最大的整数
Math.ceil(n):向上取整,不小于n的最小的整数