【JavaScript】32_数组初步

简介: # 1、简介数组(Array)- 数组也是一种复合数据类型,在数组可以存储多个不同类型的数据- 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引 可以通过索引来操作获取数据- 数组中存储的数据叫做元素- 索引(index)是一组大于0的整数- 创建数组 通过Array()来创建数组,也可以通过[]来创建数组- 向数组中添加元素 语法: 数组[索引] = 元素- 读取数组中的元素 语法: 数组[索引] - 如果读取了一个不存在的元素,不好报错而是返回undefined- length - 获取数组的长

1、简介

数组(Array)

  • 数组也是一种复合数据类型,在数组可以存储多个不同类型的数据
  • 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引
    可以通过索引来操作获取数据
  • 数组中存储的数据叫做元素
  • 索引(index)是一组大于0的整数
  • 创建数组
    通过Array()来创建数组,也可以通过[]来创建数组
  • 向数组中添加元素
    语法:

    数组[索引] = 元素
    
  • 读取数组中的元素
    语法:

    数组[索引]
    - 如果读取了一个不存在的元素,不好报错而是返回undefined
    
  • length

    • 获取数组的长度
    • 获取的实际值就是数组的最大索引 + 1
    • 向数组最后添加元素:
      数组[数组.length] = 元素
    • length是可以修改的
    <script>
        const obj = {name:'孙悟空',age:18}

        const arr = new Array()
        const arr2 = [1,2,3,4,5]//数组字面量

        arr[0] = 43
        arr[1] = 22
        arr[2] = 44
        arr[3] = 88
        arr[4] = 99

        // 使用数组时,应该避免非连续数组,因为它性能不好
        // arr[100] = 99

        // console.log(arr[1])
        // console.log(typeof arr) // object
        // console.log(arr.length)

        arr[arr.length] = 33;
        arr[arr.length] = 66//没有用,因为越界

        arr.length = 5
        console.log(arr)
    </script>

2、遍历数组

遍历数组

- 遍历数组简单理解,就是获取到数组中的每一个元素

    <script>
        //任何类型的值都可以成为数组中的元素
        let arr = [1,'hello',true,null,{name:'孙悟空'},() => {}]

        //创建数组时尽量要确保数组中存储的数据的类型是相同类型的
        arr = ['孙悟空','猪八戒','沙和尚']
        console.log(arr)

        arr = ['孙悟空','猪八戒','沙和尚','唐僧','白骨精']  
        for(let i = 0; i < arr.length-1; i++){
            console.log(arr[i])
        }

        for(let i = arr.length-1; i >= 0; i--){
            console.log(arr[i])
        }

        /* 
            定义一个Person类,类中有两个属性name和age
                然后创建几个Person对象,将其添加到一个数组中

            遍历数组,并打印未成年人的信息
        */

        class Person {
            constructor(name,age){
                this.name = name;
                this.age = age;
            }
        }

        const personArr = [
            new Person('孙悟空',18),
            new Person('沙和尚',25),
            new Person('红孩儿',9)
        ]
        
        for(let i = 0; i < personArr.length; i++){
            if(personArr[i].age < 18){
                console.log(personArr[i])
            }
        }
    </script>

3、for-of语句

for-of语句可以用来遍历可迭代对象

语法:

for(变量 of 可迭代的对象){

​ 语句...

}

执行流程:

for-of的循环体会执行多次,数组中有几个元素就会执行几次,

​ 每次执行时都会将一个元素赋值给变量

    <script>
        const arr = ['孙悟空','猪八戒','沙和尚','唐僧']
        for(let value of arr){
            console.log(value)
        }

        for(let value of 'hello'){
            console.log(value)
        }
    </script>
相关文章
|
8天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
19 3
|
21天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
21天前
|
JavaScript Java
JS有趣的灵魂 清空数组
JS有趣的灵魂 清空数组
|
2月前
|
JavaScript 前端开发 API
常用JavaScript 数组 API大全
常用JavaScript 数组 API大全
32 0
|
3天前
|
JavaScript 前端开发 索引
JavaScript 数组的索引方法数组转换为字符串方法
JavaScript 数组的索引方法数组转换为字符串方法
|
3天前
|
JavaScript 前端开发
JavaScript 数组的添加删除和排序
JavaScript 数组的添加删除和排序
|
6天前
|
JavaScript 前端开发
js 操作数组的方法
js 操作数组的方法
16 4
|
13天前
|
JavaScript 前端开发
js数组过滤,从简单到多条!
js数组过滤,从简单到多条!
|
14天前
|
存储 JavaScript
|
14天前
|
JavaScript 前端开发 索引
JavaScript 数组中的增、删、改、查
JavaScript 数组中的增、删、改、查