数组的声明、遍历和增删查改

数组

数据结构

逻辑结构、存储结构、算法

数据存储的结构和方式

线性结构和非线性结构

线性结构

  • 数组(顺序表)

  • 队列(先进先出)

  • 栈 (先进后出)

  • 链表

非线性结构

  • hash(散列表)

 

数组

有顺序的元素序列,用于储存多个相同类型数据的集合

数组的声明(引用)

  1. []

    //元素用逗号隔开,一般为同一类型
    var arr = [0,1,2]
    var arr2 = ['我','是','数组']

     

  2. new(为对象)

    var arr = new Array()//里面的参数为长度,可不写即为0
    var arr = new Array()

     

数组的遍历

循环语句遍历

var arr = [1,2,3,45,12]
//利用顺序表的特点 有序
for(var i=0;i<arr.length;i++){
console.log(arr[i])
}

for in遍历(返回值为数组里的每个下标)

var arr = [1,2,3,4,5]
for(var index in arr){ //index表示的为下标
console.log(arr[index])//1 2 3 4 5
console.log(index)//0 1 2 3
}

for of遍历(返回值为数组里的每个值)

//使用for of遍历(只能遍历数组,返回值为数组里的值)
var arr = [1,2,3,4,5]
for(var value of arr){
   console.log(value)//1 2 3 4 5
}

 

数组的增删查改

只要是能存数据的容器 就必须具备增删改查的方法

  • 增(add push append)

    • 栈方法

      • push方法(添加到数组最后)

        var arr = [0,1]
        arr.push(5)
        console.log(arr) //[0,1,5]
    • 队列方法

      • unshift方法(添加到数组最前面)

        var arr = [0,1]
        arr.unshift(5)
        console.log(arr) //[5,0,1]
  • 删(硬删除(delete、软删除(remove)

    • 栈方法

      • pop方法(删除最后一个)

        var arr = [0,1]
        arr.pop()
        console.log(arr) //[0]
    • 队列方法

      • shift方法(删除最前面一个)

        var arr = [0,1]
        arr.shift()
        console.log(arr) //[1]

         

  • 查(不会影响原本数组)

    • concat(合并,连接数组)

      // 返回新的数组
      var arr= [4,1,7,3,9,2];
      var arr4 =[1,2,3,5]
      var newArr =arr.concat(arr4) //追加数据, 创建一个新数组, 不改变原数组
      console.log(newArr)//[4,1,7,3,9,2,1,2,3,5]

       

    • slice

    • //返回新的数组
      var arr= [4,1,7,3,9,2];
      var arr2=arr.slice(1,3)//是第二位跟第三位两个元素
      console.log(arr);

       

    • splice!!!(插删改)

      //请将数组[1,46,74,3,5,5]中的元素右移1位

      var arr5 = [1,46,74,3,5,5]
      arr5.splice(0,0,0)
      //如果要删除那么第一个0和第二个0决定开始和删除结束的位置
      //如果不删,只插第一位为开始位置,第二位写0,第三位为插入的元素例如0
      console.log(arr5);//[0,1,46,74,3,5,5]

      //插数:在数组[1,46,74,3,5,5]的下标为2的位置插入一个数字8,结果为[1,46,8,74,3,5,5]
      var arr6 = [1,46,74,3,5,5]
      arr6.splice(2,0,8)
      console.log(arr6);//[1,46,8,74,3,5,5]

       

  • 改(替换(replace)、更新(updata))

    • reverse(反转)

      //将最后一个变到第一个 一个个对应的换位置
      var arr= [4,1,7,3,9,2];
      console.log(arr.reverse()); //[2,9,3,7,1,4]

       

    • sort(排序)

      //sort方法排序 //默认情况下他是根据第一个字符的ACSII码进行排序 (ACSII码排序)
      var arr2 = [15,20,11,4,5]
      arr2.sort() //返回一个数组 这个数组是排序好的数组 他跟上面一样 就是返回的这个数组其实就是原本的数组
      console.log(arr2);

      //正序、反序
      // sort 其实是一个高阶函数 高阶函数就是里面用函数做为参数的函数
      var arr3 = [15,20,11,4,5]
      arr3.sort(function(a,b){
         //1 和 -1来进行大小区分和排序规则
         return  b-a //a-b是正序 b-a就倒序
      })
      console.log(arr3);
    •  
posted @ 2022-07-29 21:22  奇思妙想流川枫  阅读(105)  评论(0)    收藏  举报