学习前端day01

数组介绍
     - 有序的数据集合
     - var arr = []
     - var arr = new Array(5)
       + [,,,,,]
   2. 数组特性,及案例
     - 长度和索引
       + 长度 - 1 == 数组索引最大值
   3. 数组排序算法--冒泡      
   4. 数组排序算法--选择
   5. 二维数组
  • 数组
    a. 是js中一种数据类型 Array
    ⅰ. 复杂数据类型
    b. 也是有序的数据结合
    ⅰ. 数组中可以存储任何数据类型的值
    c. 数组和对象的区别
    ⅰ. 一般数组中存储的数据 类型都是一致的
    ⅱ. 一般对象中存储的数据 是比较杂(对象中的数据是用于描述该对象的)
  • 数组创建
    a. 字面量创建
    ⅰ. 语法: var arr =[]
    ⅱ. 语法: var arr=[数据1,数据2,数据3]
    b. 通过内置构造函数创建
    ⅰ. 语法: new Array()//空数组
    ⅱ. 语法: new Array(数字)//有长度的数组,每个值都是empty
    ⅲ. 语法: new Array(数据1,数据2,数据3)//有数据的数组
  • 数组特性
    a. 索引
    ⅰ. 数组是有序的数据集合,其中有序体现在数组的索引上
    ⅱ. 索引:都是从0开始的连续自然数
    1. 可读写
      a. 读
      ⅰ. 语法:数组[索引]
      ⅱ. 获取对应索引的数组数据
      ⅲ. 如果不存在,则返回undefined
      b. 写
      ⅰ. 语法:数组[索引]=数据
      1. 如果索引位置没有数据,就是新增,如果索引位置有数据则修改(替换)
        b. 长度
        ⅰ. 数组的长度也就是数组中数据元素的个数
        ⅱ. 可读写

    2. a. 语法:数组.length
      ⅰ. 获取数组的长度

    3. a. 语法:数组.length=数字
      ⅰ. 如果赋值的数字比原数组元素个数小 则会从后往前删除数组元素
      ⅱ. 如果赋值的数字比原数组元素个数大 则会新增数组元素,值是empty
      1. 注意:数组中空值访问结果也是undefined
        c. 长度和索引的关系
        ⅰ. 数组元素的最大索引值就是数组长度-1
        ⅱ. 数组的长度是数组元素索引最大值+1
        d. 数组遍历
        ⅰ. 通过for循环,将索引循环变量的值,循环变量的范围由长度来限定
        ⅱ. for(var i=0;i<数组.length;i++){i是索引,数据–数组[i]}
  • 数组排序:将数组中乱序的数组重新按照升序或者降序的形式排列
    a. 数组冒泡排序
    ⅰ. 循环数组
    1. 相邻的两两数据之间进行比较,更大的则放在后面(交互位置)
    2. 当数组通过一轮两两比较(更大值放到后面) 之后,则最大值一定在最后了
      ⅱ. 多次循环数组(进行两两比较,则最后数组的排序完成)
      b. 数组排序算法 --选择
      ⅰ. 假设minIndex = 0,[minIndex]为最小值; 循环数组,逐个比较
      ⅱ. 如果某一个比[minIndex]还小,则将该数据的索引赋值给minIndex
      ⅲ. 当一轮循环比较结束后,minIndex中就是最小值的索引
    3. 比较一开始假设的minIndex中的值和最后循环结束时,minIndex中的值比较
    4. 如果不一致,则交换两个位置的数据
      ⅳ. 如此的循环 执行完毕则最小值一定在最前面
      c. 假设minIndex = 1,[minIndex]为最小值; 循环数组,逐个比较
      ⅰ. 如果某一个比[minIndex]还小,则将该数据的索引赋值给minIndex
      ⅱ. 当一轮循环比较结束后,minIndex中就是最小值的索引
    5. 比较一开始假设的minIndex中的值和最后循环结束时,minIndex中的值比较
    6. 如果不一致,则交换两个位置的数据
      ⅲ. 如此的循环 执行完毕则最小值一定在最前面
      ⅳ. 经过多次的假设循环比较, 执行后排序完成 最少经过长度减1轮
  • 二维数组 数组中可以存储任何类型的数据
    a. 数组中可以存储数组
    b. 如果数组中多层数据都是数组,则我们将其称之为 多维数组
    c. 数组的第二层数据还是数组,就是二维数组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值