zoukankan      html  css  js  c++  java
  • JavaScript基础(09_数组(Array))

    数组(Array)

    数组

    • 数组也是一个对象

      • 用来存储一些值

      • 不同的是,普通对象是使用字符串作为属性名

      • 数组是使用数字来作为索引来操作元素

      • 索引

        • 从0开始的一个整数

        • 数组的存储性能比普通对象要好,在开发中经常使用数组来存储一些数据

      • 数组中的元素可以是任意数据类型,也可以是对象,甚至是函数,数组

    • 创建数组对象

      • 方法1:使用构造函数创建数组对象

        • 语法: 数组[索引] = 值

        • var arr = new Array();
          arr[0] = 10;
          arr[1] = 33;
          arr[2] = 22;
          console.log(arr[1]);
          console.log(arr);
          console.log(arr.length);  //获取数组长度(连续的数组)
        • 如果读取不存在的索引 ,返回Undefined

      • 方法2:使用字面量来创建一个数组

        • 语法: []

        • var arr = [1,2,3,4,5,6];
          console.log(arr);

    基本方法

    • push()

      • 向数组的末尾添加一个或者多个元素

      • 要添加的元素作为方法的参数传递

      • 这样这些元素将会自动添加到数组的末尾

      • 返回数组的新的长度

    • pop()

      • 删除数组的最后的一个元素

      • 返回被删除的元素

    • unshift()

      • 向数组开头添加一个或者多个元素

      • 返回数组新的长度

    • shift()

      • 删除数组第一个元素

      • 返回被删除的元素

    • slice()

      • 可以用来从数组中提取指定元素

      • 语法: Array.slice(start, stop)

      • 包含start,并不包含stop索引

      • 该方法不会改变原数组,将截取后的元素封装到一个新数组进行返回

      • 若stop不写,则表示从某一个索引位置往后的所有元素全部都要

      • 索引可以传递一个负值

      • var arr = ["swk", "zbj", "shs", "zzj", "bbj"]
                res = arr.slice(1,2)    //提取arr数组中第二个元素
                console.log(res)
    • splice()

      • 删除数组中的指定元素

      • 语法: Array.splice(start, count,[新元素1],[新元素2...])

      • 解释:从start index位置开始,删除count个

      • 向数组添加新元素

      • 会影响原数组,会将指定元素从原数组中删除并返回被删除的元素

      • var arr = ["swk", "zbj", "shs", "zzj", "bbj"]
        res = arr.splice(1,1)   // 从索引=1这个位置起,包含索引=1这个位置的元素,往后删除1个元素
        console.log(res)  //["zbj"]
        console.log(arr)  //["swk", "shs", "zzj", "bbj"]
    • concat()

      • 连接两个或者多个数组,并将新的数组返回

      • 不影响原数组

    • join()

      • 该方法可以将数组转换为字符串,并作为结果返回

      • 不影响原数组

      • 在join()可以指定一个字符串作为参数,这个字符串可以成为数组中的元素连接符

      • 不指定的话,默认是使用逗号连接

    • reverse()

      • 翻转数组中元素顺序,并返回新的数组

      • 该方法会修改原数组

    • sort()

      • 用来对数组的元素排序

      • 该方法会修改原数组

      • 默认按照Unicode编码顺序进行排序

      • 纯数字也是按照Unicode编码进行排序,数字排序后不会得到正确的顺序

      • 可以指定排序的规则

      • 可以在sort()添加一个回调函数,来指定排序的规则

      • 回调函数中需要定义两个形参

      • 浏览器将会分别使用数组中的元素作为实参去调用回调函数

        • 升序排列 return a-b

        • 降序排列 return b-a

    遍历

    • for循环遍历

      • var arr = ["swk", "zbj", "shs"]
        for(var i=0;i<arr.length;i++){
          console.log(arr[i]);
        }
    • forEach遍历

      • js中还提供了 forEach()方法来遍历数组(一般都是使用for循环去遍历数组)

        • 这个方法只支持IE8(不包括IE8)以上的浏览器

        • forEach()方法需要一个函数作为参数

          • 像这种函数,由我们创建,但却不是由我们来调用,所以称之为回调函数

        • 数组中有几个元素,函数就会执行几次,浏览器将遍历到的元素,以实参形式传递进来

        • 浏览器会在回调函数中传递三个实参

          • 第一个参数,就是当前正在遍历的元素

          • 第二个参数,就是当前遍历数组的索引

          • 第三个参数,就是当前正在遍历的数组

        • var arr = ["swk", "zbj", "shs", "zzj", "bbj"];
          ​
          arr.forEach(function(value,index,arr){
            // console.log(value);
            // console.log(index);
            console.log(arr);
          });
  • 相关阅读:
    Python生成器
    字符串匹配——KMP算法
    字符串匹配——Brute-Force 简单匹配算法
    算法笔记--八个常见排序算法总结
    算法笔记--基数排序
    算法笔记--归并排序
    算法笔记--堆排序
    算法笔记--直接选择排序
    算法笔记--快速排序
    算法笔记--冒泡排序
  • 原文地址:https://www.cnblogs.com/lich1x/p/13699769.html
Copyright © 2011-2022 走看看