js-day06数组

简介: js-day06数组

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 变量名 = 赋值/表达式)
    储存在堆区:复杂数据类型对像 数组
    应用
相关文章
|
4月前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
62 2
|
4月前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
77 3
|
4月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
67 4
|
4月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
45 5
|
4月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
71 1
|
4月前
|
JavaScript 前端开发 索引
探索JavaScript数组:基础
探索JavaScript数组:基础
33 3
|
4月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
105 1
|
4月前
|
JavaScript 前端开发
如何在JS中声明一个数组
如何在JS中声明一个数组
45 0
|
4月前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
51 3
|
5月前
|
JavaScript 前端开发
js删除数组最后一个元素
js删除数组最后一个元素

热门文章

最新文章

  • 1
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    23
  • 2
    Node.js 中实现多任务下载的并发控制策略
    32
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    25
  • 4
    【JavaScript】深入理解 let、var 和 const
    48
  • 5
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    44
  • 6
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    53
  • 7
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    55
  • 8
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    71
  • 9
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    55
  • 10
    JavaWeb JavaScript ③ JS的流程控制和函数
    62