数组属性、方法

数组

变量 :存储数据的,只能存储一个值

var name = "张三" ; var age = 12;

对象:本质特征和行为的事物 能存储一条数据

var obj = {name:"张三",age:12,score:100}

数组:可以存储一组(多条数据)或一系列相关数据的容器

数组元素:存储在数组中,并赋予唯一索引号(下标--从0开始)的数据段

数组元素的数据类型可以不相同

数组下标:标识数组元素的唯一索引号 最小下标 0 ,最大下标length-1

好处

可以集中管理,提高性能

声明数组

1:字面量方式 var 数组名 = []

2:构造函数的方式 var 数组名 = new Array()

有且仅有一个正整数作为参数,表示数组的长度 ,其他情况表示数组中的元素

数组的属性

数组名.length 返回数组的长度

数组的数据类型

object

遍历数组(循环数组)

// 遍历数组  读取数组中的所有数组元素
    // 下标 从0开始   length-1结束
    for (var i = 0; i < arr.length; i++) {
      console.log(arr[i])
    }

方法(增,删,改,截,拼,复,排,转)

      // 增
    /*
unshift(新增元素)
在数组的前面增加新的元素
新增后数组的长度
是否影响原数组:是
*/

    var arr = [5, 6, 4, 5, 6, 7]
    var res = arr.unshift(4, [1, 2, 3], 5)
    // console.log(res) //9
    // console.log(arr)

    /*
      后增 push(新增元素)
      在数组的尾部增加新的元素
      返回值:新增后数组的长度
      是否影响原数组:是
    */

    var arr1 = [2, 3, 4, 5, 6, 7]
    var res1 = arr1.push(4, [1, 2, 3], 4)
    console.log(res1) //9
    console.log(arr1)
   /* 
shift()
删除数组首部的元素,一次只能删除一个元素
返回值:返回被删除的元素
是否影响原数组:是

*/
    var arr = [2, 3, 4, 5, 6, 78, 88]
    var res = arr.shift()
    //   console.log(res)//2
    //   console.log(arr)

    /*
pop()
删除数组尾部的元素,一次只能删除一个元素
返回值:返回被删除的元素
是否影响原数组:是

*/

    var arr1 = [23, 5, 6, 7, 8, 3, 5, 4, 2, 1]
    var res1 = arr1.pop()
    console.log(res1) //1
    console.log(arr1) // [23, 5, 6, 7, 8, 3, 5, 4, 2]

 

/*  splice(从哪个下标开始,删除的长度,新增的元素,....)
    作用:在数组的任意位置可以实现增,删,改
    返回值:被删除的元素数组
    是否影响原数组:是 */

    // var arr = [5, 6, 7, 8, 9]
    // var res = arr.splice(2)
    // console.log(res) //[7, 8, 9]
    // console.log(arr) //[5, 6]

    // var arr = [5, 6, 7, 8, 9]
    // var res = arr.splice(2, 1)
    // console.log(res) //[7]
    // console.log(arr) //[5, 6, 8, 9]

    // var arr = [5, 6, 7, 8, 9]
    // var res = arr.splice(2, 1, [1, 2, 3], true)
    // console.log(res) // [7]
    // console.log(arr) // [5, 6, [1, 2, 3], true, 8, 9]

    var arr = [5, 6, 7, 8, 9]
    var res = arr.splice(2, 0, [1, 2, 3], true)
    console.log(res) // []
    console.log(arr) //[5, 6, [1, 2, 3], true,7, 8, 9]
 /*  
    concat(拼接的元素)
    作用:将新的元素拼接到指定的数组后面,形成新的数组(新数组中有数组,则将最外层数组拆开进行拼接)
    返回值:拼接后的新数组
    是否影响原数组:否 */
    var arr = [5, 6, 7, 8, 9]
    var res = arr.concat(-4, -2, [2, 3, [4, 6]], 10)

    console.log(res) // [5, 6, 7, 8, 9, -4, -2, 2, 3, [4, 6], 10]
    console.log(arr) //[5, 6, 7, 8, 9]
      // slice
    /*
slice(start,end)
作用:截取指定范围的数组元素
返回值:被截取的新数组
是否影响原数组:否

*/
    var arr = [5, 6, 7, 8, 9]
    // var res = arr.slice(2)
    // console.log(res) //[7, 8, 9]
    // console.log(arr) //[5, 6, 7, 8, 9]

    // var res = arr.slice(2, 4)
    // console.log(res) //[7, 8]
    // console.log(arr) //[5, 6, 7, 8, 9]

    // var res = arr.slice(4, 2)
    // console.log(res) //[]
    // console.log(arr) //[5, 6, 7, 8, 9]

    var res = arr.slice(-4, -2)
    console.log(res) //[6,7]
    console.log(arr) //[5, 6, 7, 8, 9]
      // 复
    // var arr = [5, 6, 7, 8, 9]
    // var list = []
    // function fnCopyArr(arr) {
    //   return arr.slice(0)
    // }
    // list = fnCopyArr(arr)
    // arr[0] = 4
    // console.log(arr, list) //[4, 6, 7, 8, 9] [5, 6, 7, 8, 9]

    // var arr = [5, 6, 7, 8, 9]
    // var list = []
    // function fnCopyArr1(arr) {
    //   return arr.concat()
    // }
    // list = fnCopyArr1(arr)
    // arr[0] = 4
    // console.log(arr, list) //[4, 6, 7, 8, 9] [5, 6, 7, 8, 9]

    // var arr = [5, 6, 7, 8, 9]
    // var list = []
    // function fnCopyArr2(arr) {
    //   var list = []
    //   for (var i = 0; i < arr.length; i++) {
    //     list[i] = arr[i]
    //   }
    //   return list
    // }
    // list = fnCopyArr2(arr)
    // arr[0] = 4
    // console.log(arr, list)//[4, 6, 7, 8, 9] [5, 6, 7, 8, 9]

    var arr = [5, 6, 7, 8, 9]
    var list = []
    function fnCopyArr3(arr) {
      var list = []
      for (var i = 0; i < arr.length; i++) {
        list.push(arr[i])
      }
      return list
    }
    list = fnCopyArr3(arr)
    arr[0] = 4
    console.log(arr, list) //[4, 6, 7, 8, 9] [5, 6, 7, 8, 9]
 
posted @ 2022-08-09 23:20  YBYZ  阅读(93)  评论(0)    收藏  举报