美文网首页
前端零基础课程--第十二节课(数组)

前端零基础课程--第十二节课(数组)

作者: 沉默紀哖呮肯伱酔 | 来源:发表于2020-05-19 09:31 被阅读0次

数组

    数组是一种常用的保存批量数据的数据结构。

    JS中数组元素类型可以不同

    元素按线性顺序排列

    可以通过元素所在位置的序号(下标)访问元素(下标从0开始,到元素个数-1)

    数组定义

        1、定义一维数组

            []直接量:[1,2,3]

            Array关键字:new Array('Tom','Jerry')

            异同:多数情况下两种方式是一样的,但如果给Array方式传递唯一一个数字参数时,其代表的是数组长度而非添加元素。

        2、初始化

            arr[0]=1;arr[1]='abc';

        3、数组是引用类型对象

            值不保存在变量本地的数据类型

            4、什么是对象?js中的对象,指内存中集中保存一组数组和功能的整体。对象中保存常用数据和操作方法。

            5、如何创建对象?对象都是用new关键字创建的

            6、什么是new关键字?new专门用于在内存中动态开辟存储空间,然后返回空间的地址

使用new创建出的对象都是引用类型的。

            7、数组赋值给变量,得到的是地址

            8、数组作为参数传递给函数,也是按值传递,传递的是数组的地址,因此函数中对数组所做修改可以影响数组本身。

null

什么是null?null表示一个变量不再指向任何对象地址

null和undefined?

    共同点:都是原始类型,保存在栈中变量本地。

    不同点:undefined表示标量声明过但未被赋值。null表示一个变量暂时没有引用任何对象,但是将来可能指向一个对象。

访问数组

    设置值:score[0]=98;

    获取值:var cities=['洛阳','郑州'];cities[1]

    获得长度:cities.length;new Array(10);

遍历数组

    使用for循环遍历

    倒序和跳序遍历

    使用for...in语句遍历:可遍历数组索引

数组中的常用方法

    1、获取数组字符串

        toString()

        join([seperator])括号里分隔符

    2、连接数组

        concat(),拼接若干数组为一个数组并返回

        语法:concat(arr1,arr2,.....)

            该方法不会改变现有数组,紧返回拼接后的副本

            每个参数可以是一个值,也可以是数组

            可以使用任意个参数

    3、获取子数组

        slice()返回现有数组的子数组

        语法slice(start,[end])

            start是起始索引,end是结束,但是end不被包含在内,即大于等于start,小于end

            end不设置取到数组结尾

            可取负数,负数从后往前计算,从-1起始,而非0

            如果start<=end,提供索引参数错误,得到空数组,但不会报错

            该方法不会改变现有数组

    4、修改数组

        splice()可从数组删除部分元素或者添加部分元素,或两者的组合

            语法:splice(start,deleteCount,e1,e2.....)

                start表示起始索引

                deleteCount表示删除元素数量,设为0表示不删除,返回结果是删除元素组成的数组

                e1,e2...表示添加的项,数量不限,类型不限,如果添加元素是数组,则其会作为一个整体,数组长度仅增加1

                原始数组会被改变

    5、倒转方法

            reverse()颠倒数组中所有元素

            用法:arr.reverse()

            原始数组会改变

    6、数组排序

        sort()用于对数组中元素由小到大进行排序

        语法:arr.sort([sortBy])

            若未指定参数,则按照元素的Unicode码序排序,由小到大(阿拉伯数字,大写,小写字母,中文),首字母比较,如果相同再比较第二个。。。;

            若指定sortby函数,则按照其返回的正负值作为排序依据

   7、 进出栈操作

         栈(Stack):典型的"后进先出"型数据结构

        a、入栈(push):在栈顶(数组尾部)添加元素

            arr.push(val)  <==>  arr[length]=val;

            push返回当前数组长度

            可以push多个元素

            可以push数组,但是作为整体添加,len加1

        b、出栈(pop):

            语法:arr.pop()

            返回弹出对象

        c、unshift(val)和shift():在数组头部添加或删除元素

            arr.unshift(val)入队

            arr.shift()出队

相关文章

网友评论

      本文标题:前端零基础课程--第十二节课(数组)

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