数组的操作及基本 及应用

130 阅读3分钟

一、数组概念

计算机内存中一段连续的空间,使用一个变量名来表示

二、数组的定义

1,var arr = new Array(多个数据)

2,var arr = [多个数据]

数组的规律:

第一个值的下标永远是0;

最后一个值的下标永远是值的个数-1。

三、数组基本操作

  • 访问元素

    • 数组[下标]
  • 设置元素

    • 数组[下标] = 值

      • 下标原本存在

        • 修改
      • 下标原本不存在

        • 新增
  • 删除

    • delete 数组[下标]

      • 只能删除数据,无法删除小空间
  • 长度

    • 求长度

      • 数组.length
    • 设置长度

      • 数组.length = 数字
  • 遍历

    • 写for循环,循环每个元素的下标,条件通常使用数组.length

四、数组方法

  • unshift - 给数组开头添加一个或多个元素 - 返回数组新长度

    css
    复制代码
    var arr = ['a','b','c'];
    var l = arr.unshift('d')
    console.log(arr) // ['d','a','b','c']
    console.log(l) // 4
    
  • push - 给数组的末尾添加一个或多个元素 - 返回数组新长度

    css
    复制代码
    var arr = ['a','b','c'];
    var l = arr.push('d')
    console.log(arr) // ['a','b','c','d']
    console.log(l) // 4
    
  • shift - 删除数组的第一个元素 - 返回被删掉的元素

    css
    复制代码
    var arr = ['a','b','c'];
    var ele = arr.shift()
    console.log(arr) // ['b','c']
    console.log(ele) // 'a'
    
  • pop - 删除数组最后一个元素 - 返回被删掉的元素

css
复制代码
  var arr = ['a','b','c'];
  var ele = arr.pop()
  console.log(arr) // ['a','b']
  console.log(ele) // 'c'
  • splice - 对数组做增、删、改的操作

    css
    复制代码
    var arr = ['a','b','c']
    // 改 - 参数1:开始下标;参数2:删除的个数;参数3:在删除的位置放上的新的元素 - 可以是多个
    arr.splice(1,1,'d') // ['a','d','c']
    // 增
    arr.splice(1,0,'d') // ['a','d','b','c'] - 删除0个,就是不删除,然后放上新元素
    // 删 - 第三个参数可以省略
    arr.splice(1,0) // ['a','c']
    
  • concat - 数组的拼接

    ini
    复制代码
    var arr = ['a','b','c'];
    var brr = ['d','e','f'];
    // 将arr和brr合成一个更大的数组
    var crr = arr.concat(brr) // ['a','b','c','d','e','f']
    // 将一个或多个值和数组合并成一个大数组
    var crr = arr.concat(1,2,3)// ['a','b','c',1,2,3]
    
  • sort - 数组的排序

    css
    复制代码
    var arr = [9,5,3,7,1,6,4,8,2];
    arr.sort() // 默认升序
    console.log(arr) // [1,2,3,4,5,6,7,8,9]
    arr.sort(function(a,b){ // a代表前面的数,b代表后面的数
        return a-b; // 升序 - 如果前面的数-后面的数>0,则交换位置
        return b-a; // 降序 - 如果后面的数-前面的数>0,则交换位置
    })
    
  • reverse - 数组的反转

    css
    复制代码
    var arr = ['a','b','c'];
    arr.reverse()
    console.log(arr) // ['c','b','a']
    
  • join - 将数组中的元素使用指定的连接符连接在一起

    csharp
    复制代码
    var arr = ['a','b','c'];
    var str = arr.join('_') // 参数是连接符
    console.log(str) // a_b_cvar str = arr.join() // 默认使用逗号连接
    console.log(str) // a,b,cvar str = arr.join('')
    console.log(str) // abc
    
  • slice - 截取数组

    css
    复制代码
    var arr = ['a','b','c','d','e','f'];
    // 将数组中的 'b','c','d'截取出来,组成新的数组
    var brr = arr.slice(1,4) // 参数1是开始截取的下标,参数2是截取的结束下标,结果中不包含结束下标对应的元素
    console.log(brr) // ['b','c','d']
    // 如果省略第2个参数,默认从开始下标截取到数组末尾
    var crr = arr.slice(1)
    console.log(crr) // ['b','c','d','e','f']