zoukankan      html  css  js  c++  java
  • Array知识点总结(一)

    重识数组

    申明数组的三种方式

    var arr = [1,2,3];//数组字面量
    var arr = new Array();//通过系统内置的构造函数申明数组 不推荐
    var arr = Array();// 不使用
    

    构建数组时候的细节点

    var arr1 = [,1,2,,,,3,4,] // 稀松数组 这样可以定义 数组的长度为8, 注意:数组中最后的一个逗号后面如果为空则不会算进数组的长度中
    var arr2 = new Array(,2,3,4,) //这样通过构造函数的方式创建数组是不被允许的,--语法错误
    var arr3 = new Array(5); //当用构造函数的方式创建数组是,单独只传入一个值的话,默认是规定的数组的长度,这样会创建出一个数组长度为5的空数组
    var arr4 = new Array(a); //这样创建传递一个字符会被当成一个变量,如果a没有定义则会a is not defined的错误,如果是传入的“a”则可以创建一个有"a"数组
    
    
    var arr5 = [1,2,3,4]
    console.log(arr[4]) //注意:这里不会报数组的索引越界,和java这些强类型语言不同,这里可以类比对象,当访问的是对象中不存在的属性时则为undefined ,所以这里打印undefined
    
    

    数组的常用方法

    1. push / unshift 都是用于数组添加元素 注意:返回值:执行方法后数组的长度

      push 在数组的最后添加元素

    var arr = [1,3,4,5]
    arr.push(4)//加一个值
    arr.push(5,7,8) //也可同时push几个值
    

    ​ unshift 在数组的最前面添加元素

    1. pop/shift 用于数组删除元素 注意:返回值是当前删除的值

      pop 删除数组的最后一位元素 返回值是删除的元素

      shift 删除数组的第一位元素 返回值是删除的元素

    2. reverse 用于数组的倒序 返回值:为倒序后的新数组

    3. splice 一个复合的方法,可以用于数组元素的添加以及删除操作,可以传递三个参数值 返回值:删除的元素所构成的一个新的数组,这个方法会改变原数组

    1. 第一个参数:开始元素的索引值 (索引从0开始)

    2. 第二个参数:你需要操作的元素的个数 (从你开始的那个索引位置的那个元素开始数。。。。大于0 则删除对应位数的元素,如果值为0代表不做删除元素的操作)

    3. 第一个参数索引的位置的前面添加的内容

    4. sort 用于数组中的排序

      • 注意:

      • 默认这个方法是按照ASCII码的比对来进行排序

      • 这个方法会改变原来的数组本身

      • 返回值为排序后的新的数组

      • 如果想自定义排序的规则,可以在sort方法中传递一个函数

        • 注意函数中必须传递两个形参 (a,b),即用于作为比较的两个数

        • 函数中的返回值为负值,则a元素在b前面;返回值为正值,则b元素在a元素前面 ;返回值为0则保持位置不变

        • 技巧:如果在用户数组中的数字比较时一般直接return a-b(从小到大) return b-a (从大到小)

    • sort的常用的比较实用场景
     <script>
          var arr = [23, 35, 4, 7]
          arr.sort(function (a, b) {
            return Math.random() - 0.5
          })
          var arr2=[
            {name:'张三',age:12},
            {name:'李四',age:10},
            {name:'王五',age:45},
            {name:'赵六',age:9},
          ]
          arr2.sort(function(a,b){
            return b.age-a.age
          })
    
          var arr3 = ['11','1','232323','23434']
          arr3.sort(function(a,b){
            return a.length-b.length
          })
          console.log(arr)
          console.log(arr2)
          console.log(arr3)
      </script>
    

    ​ 输出的结果:

  • 相关阅读:
    前端面试常考知识点---CSS
    vue中的适配:px2rem
    判断DOM元素是否出现再浏览器窗口中
    前端构建:3类13种热门工具的选型参考
    webpack4 中的最新 React全家桶实战使用配置指南!
    [C++] 自动关闭右下角弹窗
    Java RandomAccessFile用法(转载)
    Java Annotation详解(二): 反射和Annotation
    Java Annotation详解(一): 理解和使用Annotation
    Java反射机制(五):使用反射增强简单工厂设计模式
  • 原文地址:https://www.cnblogs.com/comyan/p/13564404.html
Copyright © 2011-2022 走看看