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的最小的整数