一.数组的创建

1.利用new关键字创建一个空数组:

(1)语法:var 数组名 = new Array();
(2)例如:var array = new Array();

2.利用数组字面量创建数组:

(1)创建一个空数组:var 数组名 = [];
(2)创建一个带初值的数组:var 数组名 = [值1,值2,值3];

二.访问数组元素

1.使用索引:

(1)数组的索引从0开始
(2)格式:数组名[索引]
(3)利用索引可以修改,访问和设置数组元素

2.读取不存在的索引会返回undefined

三.数组的遍历

1.利用for循环取出数组元素:

  1. var arr = [1,2,3,4,5,6,7,8]
  2. for(var i=0;i<arr.length;i++){
  3. console.log(arr[i]);
  4. }

2.注意数组索引从0开始

3.数组的长度:数组名.length

四.数组元素的新增

1.通过修改length长度:可以通过length来达到扩容数组

2.索引号增加数组元素:arr[未存在的索引] = 值

3.若该索引原来存在元素,又赋值就会替换原来的元素

4.不要直接给数组名赋值

五.冒泡排序

1.思想:先去一个数,依次跟剩余的比较,大于则交换位置,小于则继续向后比较(实现从大到小或从小到大排序)

2.代码实现:

  1. <script>
  2. var arr = [50,44,60,80,1,65,9,51];
  3. for (var i = 0;i<=arr.length-1;i++){
  4. for (var j = 0;j<=arr.length-1-i;j++){
  5. if (arr[j] > arr[j+1]){
  6. var temp = arr[j];
  7. arr[j] = arr[j+1];
  8. arr[j+1] = temp;
  9. }
  10. }
  11. }
  12. console.log(arr);
  13. </script>

六.数组的常用方法

1.push():向数组末尾添加一个或多个元素,返回新的长度

(1)push(“hello”,”world”);

2.pop():将数组的最后一个元素删除,并返回被删除的元素值

(1)pop();

3.unshift():向数组开头添加一个或多个元素,返回新的长度

(1)unshift(“hello”,”world”);

4.shift():将数组的第一个元素删除,并返回被删除的元素值

(1)shift();

5.slice():从数组中提取指定元素,需指定开始和结束的索引(左闭右开区间)

(1)该方法不影响原数组,而是将截取出来的元素放入新数组
(2)可省略第二个参数,表示截取到最后
(3)反向索引从右向左,从-1开始

var arr = ['孙悟空','猪八戒','沙和尚','唐僧'];
arr.slice(0,2);//截取'孙悟空','猪八戒',包括0,不包括2

6.splice():删除元素,并向数组中添加新元素

(1)会影响原数组,返回删除的元素
(2)有两个参数,第一个为索引,第二个为删除的数量,后边再加参数就是要添加的参数,这些元素会自动插入开始位置索引前

7.forEach:遍历数组

(1)需要一个匿名函数做参数

  • 这种函数由我们创建,但是不由我们调用,称为回调函数

(2)数组中有几个元素就会执行几次函数
(3)可以有三个参数:

  • value:数组的值
  • index:数组索引
  • object:数组对象
    var arr = ['孙悟空','猪八戒','沙和尚','唐僧'];
    arr.forEach(function(value,index){
      console.log(index +" " + value);
    })
    

    8.concat():连接两个或多个数组,并将新的数组返回

    (1)该方法不会对原数组产生影响,要将其赋值给新数组
    (2)使用:arr1.concat(arr2,arr3……)
    (3)也可以传入元素,也会一起拼接

    9.join():将数组转换为字符串,并插入分隔符

    (1)该方法不会对原数组产生影响,要将其赋值给新数组
    (2)arr.join(“|”) — 表示转换的字符串用 | 连接,不指定默认用逗号

    10.reverse():反转数组

    (1)会改变原数组

    11.sort():对数组元素进行排序

    (1)会改变原数组
    (2)按照Unicode编码表排序
    (3)可以通过在括号内加回调函数实现其他排序方式

    七.案例:数组去重

    var arr = [1,2,3,2,1,3,4,2,5];
    for(var i=0;i<arr.length;i++){
      for(var j=i+1;j<arr.length-1;j++){
          if(arr[i]==arr[j]){
              arr.splice(j,1);
              j--;//防止连续出现两个一样的数
          }
      }
    }
    console.log(arr);