js-day06数组

应用程序 = 程序语句 + 数据结构 + 算法
数据结构: 线形表, 链表, 堆栈 , 队列, 树, 图

      01、数组: 线形表

      一、数组是做什么?
           存储一系列有序数据的集合
             var num = 100 
             100 ,200, 300, 400 一系列
      二、数组创建
          两种方法
           - 构造函数:  
              new Array()  //空数组
            var arr1 = new Array()  
              =>arr1  数组名
                      引用变量
              => new Array() 
                  创建数组对象

            var arr2 = new Array(100,200,300,400)
            var arr3 = new Array(5)  //只有一个参数是,表示数组存储元素个数

          - 字面量
              var arr1 = []  //空数组
              var arr2 = [100,200,300,400]   
                            0   1  2  3    索引号
               

      三、 访问数组元素
           索引号->数组下标   
             每个数组元素都对应一个索引号,数组元素索引号从0开始,第一个元素索引号是0   
            
           通过索引号访问数组中元素
           语法:
            var arr2 = [100,200,300,400]   
            arr2[0]
            arr2[1]

            arr2[0] = 1000  //改变原来的数组!因为栈储存的地址一样
      四、数组长度
            =>数组存储元素个数
          length属性
          
          arr.length

      五、访问数组中所有元素
           遍历
           var arr = [100,200,300,400]
                       0   1   2   3
           arr[0]
            
           for(var i = 0; i< arr.length; i++){
                arr[i]
           }

      六、数据类型
           var arr = [100,200,300,400]
           arr => Array 数组类型 -> 复杂数据类型

           数据类型:
            基本数据类型
               number string boolean undefind null 
            复杂数据类型-对象类型-引用类型
              数组-> Array
                new Array()
              Object
               

      02、数组常用方法 var arr = []

      语法
       数组名.方法()

    -1 数组添加元素(数组末尾添加元素)
       push()
       
       arr.push(98)  // [98]
       arr.push(87)  // [98,87]
    //如果只是想看看数组内容
      console.log(arr)

    -2 数组最前面插元素
       unshift()

    -3 删除末尾元素
        pop()
    -4 删除第一位元素
        shift()
    
    -5 删除数组任意元素
       截取元素,按索引号
       splice(索引号,截取元素个数)

    -6 反转数组
       reverse()

    -7 数组排序 sort()
      默认由小到大排序
      排序: 按字典顺序 第一位比较排序,then第二位进行比较
          98 89 783
          783 89  98
      改变默认排序:
      方法1:函数 
        function changeSort(a,b){
          return a - b;  //即数字由小到大排序
          return b - a;  //即数字由大到小排序
        }
        使用函数:arr.sort(changeSort)
      方法2: 匿名函数
         arr.sort(function(a,b){
             return b - a
         })   


    -8 数组拼接
      var arr1 = [1,2,3] 
      var arr2 = [4,5,6]
       arr1.concat(arr2)  
         =>返回一个拼接之后的新数组  [1,2,3,4,5,6] !!!未改变原数组哦!!!
        
    -9 返回数组元素索引号
       indexOf(元素)

面试题! 03.数组内存结构 + 案例

    变量内存结构
    内存: 运行的程序加载到内存中执行

    储存在栈区:基本数据类型变量 | !!!引用的变量(var 变量名 = 赋值/表达式)
    储存在堆区:复杂数据类型对像 数组
    应用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值