美文网首页
05-JavaScript数组

05-JavaScript数组

作者: 七分之二十四 | 来源:发表于2019-04-08 18:10 被阅读0次

JavaScript数组

  • 专门用于存储一组数据的,不是基本数据类型,是引用数据类型(对象类型)

  • 创建数组

    let 变量名称 = new Array(size);
    
  • 操作数据

    往数组中存储数据:
    变量名称[索引号] = 需要存储的数据;
    从数组中获取存储的数据:
    变量名称[索引号];
    
  • 数组注意点

    • 和其它编程语言不同,如果数组对应的索引没有存储数据,默认存储的就是undefined,其他编程语言中默认保存的是垃圾数据或者0
    • 和其它编程语言不同,JavaScript中访问了数组中不存在的索引不会报错,会返回undefined,其他编程语言一旦超出范围就会报错或者返回脏数据
    • 和其他编程语言不同,当JavaScript中数组的存储空间不够时数组会自动扩容,其他编程语言中数组的大小是固定的
    • 和其它编程语言不同,JavaScript的数组可以存储不同类型数据,其他编程语言中数组只能存储相同类型数据
    • 和其它编程语言不同,JavaScript中数组分配的存储空间不一定是连续的,其他编程语言数组分配的存储空间都是连续,JavaScript数组采用"哈希映射"方式分配存储空间(好比字典可以通过偏旁部首找到对应汉字,我们可以通过索引找到对应空间)
      • 在浏览器中各大浏览器也对数组分配存储空间进行了优化
      • 如果存储的都是相同类型的数据,那么会尽量分配连续的存储空间
  • 创建数组的其他方式

    通过构造函数创建数组
    let 变量名称 = new Array(size);创建一个指定大小数组
    let 变量名称 = new Array();创建一个空数组
    let 变量名称 = new Array(data1,data2,...);创建一个带数据的数组
    通过字面量创建数组
    let 变量名称 = [];创建一个空数组
    let 变量名称 = [data1,data2,...];创建一个带数据的数组
    
    
数组遍历
  • 数组的遍历就是依次取出数组中存储的所有数据,我们就称之为数组的遍历

    for(let i = 0;i < arr.length;i++){
        console.log(arr[i]);
    }
    
数组解构赋值
  • 数组解构赋值是ES6新增的赋值方式
  • 数组解构赋值注意点
    • 在数组的解构赋值中,等号左边的格式必须和等号右边的格式一模一样,才能完全结构
    • 在数组的解构赋值中,左边的个数可以和右边的个数不一样
    • 在数组的解构赋值中,右边的个数可以和左边的个数不一样
    • 在数组的解构赋值中,如果右边的个数和左边的个数不一样,那么我们可以给左边指定默认值
    • 在数组的解构赋值中,如果左边的个数和右边的个数一样,那么设置默认值会被覆盖
    • 在数组的解构赋值中,还可以使用ES6中新增的扩展运算符...来打包剩余的数据,如果使用了扩展运算符,那么扩展运算符只能写在最后
数组增删改查

let arr = ["a", "b", "c"];

需求: 获取数组中索引为1的那个数据 (查)

console.log(arr[1]);

需求: 将索引为1的数据修改为m (改)

arr[1] = "m";

需求: 将索引为1的数据修改为d, 索引为2的修改为e (改)

arr.splice(1, 2, "d", "e");
参数1: 从什么位置开始
参数2: 需要替换多少个元素
参数3开始: 新的内容

需求: 要求在数组最后添加一条数据 (增)

arr.push("d");
push方法可以在数组的最后新增一条数据, 并且会将新增内容之后数组当前的长度返回给我们

需求: 要求在数组最后添加两条数据 (增)

arr.push("d", "e");
数组的push方法可以接收1个或多个参数

需求: 要求在数组最前面添加一条数据 (增)

arr.unshift("m");
unshift方法和push方法一样, 会将新增内容之后当前数组的长度返回给我们

需求: 要求在数组最前面添加两条数据 (增)

unshift方法和push方法一样, 可以接收1个或多个参数

需求: 要求删除数组最后一条数据 (删)

arr.pop();
数组的pop方法可以删除数组中的最后一条数据,  并且将删除的数据返回给我们

需求: 要求删除数组最前面一条数据 (删)

arr.shift();
数组的shift方法可以删除数组中的最前面一条数据,  并且将删除的数据返回给我们

需求: 要求删除数组中索引为1的数据 (删)

arr.splice(1, 1);
参数1: 从什么位置开始
参数2: 需要删除多少个元素
数组的常用方法
  • 清空数组

    arr = [];
    arr.length = 0;
    arr.splice(0, arr.length);
    
    
  • 将数组转换为字符串

    arr.toString();
    
  • 将数组转换成指定格式字符串

    arr.join();
    数组不能够使用加号进行拼接, 如果使用加号进行拼接会先转换成字符串再拼接
    join方法默认情况下如果没有传递参数,就是调用toString
    join方法如果传递了参数,就会将传递的参数作为元素和元素的连接符号
    
  • 将两个数组拼接为一个数组

    arr1.concat(arr2);
    let res = [...arr1,...arr2];
    扩展运算符在解构赋值中(等号的左边)表示将剩余的数据打包成一个新的数组
    扩展运算符在等号右边, 那么表示将数组中所有的数据解开, 放到所在的位置
    
  • 对数组中的内容进行反转

    arr.reverse();
    会修改原有数组
    
  • 截取数组中指定范围内容

    arr.slice();
    slice方法是包头不包尾(包含起始位置,不包含结束位置)
    
  • 查找元素在数组中的位置

    arr.indexOf(参数1,参数2);
    arr.lastindexOf(参数1,参数2);
    参数1: 需要查找的元素
    参数2: 从什么位置开始查找
    indexOf方法默认是从左至右的查找, 一旦找到就会立即停止查找
    lastIndexOf方法默认是从右至左的查找, 一旦找到就会立即停止查找
    
  • 判断数组中是否包含某个元素

    arr.includes();根据返回true或者false来判断
    还可以通过indexOf和lastIndexOf的结果, 判断是否是-1即可
    

二维数组

  • 二维数组就是数组的每一个元素又是一个数组,称之为二维数组

  • 操作二维数组

    • 从二维数组中获取数据

      • 数组名称[二维数组索引];得到一个一维数组
      • 数组名称[二维数组索引][一维数组索引];得到一维数组中的元素
    • 往二维数组中存储数据

      • 数组名称[二维数组索引] = 一维数组;
      • 数组名称[二维数组索引][一维数组索引] = 值;

相关文章

  • 05-JavaScript数组

    JavaScript数组 专门用于存储一组数据的,不是基本数据类型,是引用数据类型(对象类型) 创建数组let 变...

  • 05-JavaScript函数

    函数三要素:功能、参数、返回值 1.函数定义和调用 2.函数返回值 3.函数应用 3.1 计算m-n之间的和 3...

  • 05-JavaScript基础[Python]

    一、javascript组成 JavaScript由三部分组成:1. 核心(ECMAScript)2. 浏览器对象...

  • 05-JavaScript基础[Python]

    一、javascript组成 JavaScript由三部分组成:1. 核心(ECMAScript)2. 浏览器对象...

  • 05-JavaScript运算符

    运算符基本概念 JavaScript运算符的概念和C语言一样, 都是告诉程序执行特定算术或逻辑操作的符号。 运算符...

  • 05-JavaScript流程控制

    Switch选择结构 case后面可以放常量也可以放变量 如果case后面是一个表达式, 会先计算表达式的值, 再...

  • 05-javascript基础学习笔记

    1.节点的操作### 根据后台返还的数据来创建节点,之前写的操作:写好页面结构,通过dom树获取节点,再对获取的节...

  • 05-JavaScript基础-算数运算符

    运算符基本概念 运算符是告诉程序执行特定算术或逻辑操作的符号。· 例如告诉程序, 某两个数相加, 相减等 运算符分...

  • 05-JavaScript基础-流程控制语句

    文章配套视频 https://study.163.com/course/introduction/10059730...

  • 05-JavaScript基础-算数运算符

    运算符基本概念 运算符是告诉程序执行特定算术或逻辑操作的符号。例如告诉程序, 某两个数相加, 相减等 运算符分类 ...

网友评论

      本文标题:05-JavaScript数组

      本文链接:https://www.haomeiwen.com/subject/olbpiqtx.html