数组(复杂数据类型)

54 阅读2分钟

数组: 存放一些数据的集合

  • 也是引用数据类型(复杂数据类型)
  • 数组/对象/函数
  • 数组和对象将来如何选择?示例:
    • 商品的详情存放到某一个对象中, 比如: 商品名, 商品价格, 商品折扣, 商品描述
    • 商品列表假设有 100个商品, 那么你就有100个商品详情, 按照上述的封装那么你有100个对象
    • 我们可以将 这 100个 对象, 存放到某一个数组中, 进行维护管理

创建数组

  1. 字面量的方式创建
  2. 内置构造函数的方式创建
  • 数组内部是存放一些数据的, 数据的类型没有限制
  • 但是在开发的时候一般需要将一个数组内的数据类型限制为一个
    • 比如: 纯字符串数组, 纯数字数组, 纯对象数组
        // 1. 字面量的方式创建  (使用场景最多的方式)
        var arr1 = []
        console.log(arr1)
        var arr1 = [true, undefined, null, 999, 578, 'QF999']
        console.log(arr1)

        // 2. 内置构造函数的方式创建
        var arr2 = new Array()
        console.log(arr2)

        // 2.1 创建一个有长度的数组
        var arr3 = new Array(5)
        console.log(arr3)

        // 2.2 创建一个有内容的数组
        var arr4 = new Array(500, 100, 200, 300, 'QF001', 'QF666')
        console.log(arr4)

数组的长度

  • 数组的长度并不固定, 取决于数组内部有多少个元素
    • 查看方式:
      1. 打印数据, 在控制台展开数组, 找到最后的length
      2. 打印 数组名.length
    • 当 数组的长度 === 0代表当前数组为空数组
        var arr = [1, 2, 3, 4, 5]
        console.log(arr)
        console.log(arr.length)  //5

数组的索引(下标)

  • 用处:
    • 表明 数组 的这个位置上 有什么内容
    • 注意:
      • 下标是固定的, 永远是 0 1 2 3 4 5 ....
      • 但是下标对应的内容, 不是固定的
        var arr = [1, 2, 3, 4, 5]
        //  下标:  0  1  2  3  4


        console.log('原数组: ', arr)
        console.log(arr[0]) // 会得到当前数组下标0这个位置上的值        1
        console.log(arr[3]) // 会得到当前数组下标3这个位置上的值        4

        // 通过数组的下标, 我们也可以修改数组中某一个元素的内容
        //arr[2] = '新的数据'

        console.log('修改后的数组: ', arr)

        
        var arr1 = [100, 200, 'QF004', true]
        var arr2 = [5, 4, 3, 2, 1]
        console.log(arr1)
        console.log(arr2)

数组遍历

        var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        // 下标    0  1  2  3  4  5  6  7  8  9

        console.log(arr[0])   //1
        console.log(arr[1])   //2
        console.log(arr[2])   //3

        // for (var i = 0; i <= arr.length - 1;)
        for (var i = 0; i < arr.length; i++) {
            // console.log(i)
            console.log(arr[i])
        }