Day3 JS基础

3.1 数组基础
  • 利用数组字面量创建数组

    //1. 使用数组字面量方式创建空的数组
    var  数组名 = [];
    //2. 使用数组字面量方式创建带初始值的数组
    var  数组名 = ['张三','李四','王五','赵六'];
    • 数组的字面量是方括号 [ ]

    • 声明数组并赋值称为数组的初始化

    • 这种字面量方式也是我们以后最多使用的方式

  • 利用 new 创建数组(了解)

    var 数组名 = new Array() ;// 创建一个新的空数组

    注意 Array () ,A 要大写

  • 数组元素的类型

    数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。

    var arr = ['张三',12,true,28.9];

  • 获取数组中的元素

索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。

数组可以通过索引来访问、设置、修改对应的数组元素,可以通过“数组名[索引]”的形式来获取数组中的元素。

// 定义数组
var arr = [1,2,3];
// 获取数组中的第2个元素
alert(arr[1]);    

注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined

3.2 遍历数组
  • length属性:永远比索引小于1,可以通过length添加数组的新数据

        // 数组
        let arr = ['10', '11', '12']
        console.log(arr)
        // 数组下标(索引、index),从0开始
        // 访问数组数据
        console.log(arr[0])  //10
        // 修改数据
        arr[0] = 13
        console.log(arr[0])  //13
        // 添加数据
        arr[3] = 14
        console.log(arr)
        arr[arr.length]=15
        console.log(arr)

  • 数组

     // 遍历数组
        for (let i = 0; i < arr.length; i++) {
          console.log(arr[i])
        }

  • 练习

    // 1.
        let sum = 0
        let arr1 = [1, 4, 55, 78, 34]
        for (let i = 0; i < arr1.length; i++) {
          sum += arr1[i]
        }
        console.log('数组元素的和为:' + sum, '平均值为' + sum / arr1.length)
    ​
        // 2.
        let arr2 = [34, 7, 4, 83, 73, 6]
        let max = arr2[0]
        for (let i = 0; i < arr2.length; i++) {
          if (max < arr2[i]) {
            max = arr2[i]
          }
        }
        console.log('数组最大值为:' + max)
    ​
        // 3.
        let arr3 = [4, 6, 87, 44, 667, 79, 4, 24, 65, 1]
        let arr3_1 = []
        for (let i = 0; i < arr3.length; i++) {
          if (arr3[i] > 10) {
            arr3_1[arr3_1.length] = arr3[i]
          }
        }
        console.log(arr3_1)
    ​
        // 4.
        let arr4=[2,45,6,3,3,7,89,4,3,2,4,56,8]
        let arr4_1=[]
        for(let i=0;i<arr4.length;i++){
          if(arr4[i]!==3){
            arr4_1[arr4_1.length]=arr4[i]
          }
        }
        console.log(arr4_1)
    ​
        // 5.
        let arr5=[]
        for(let i=1;i<=10;i++){
          arr5[arr5.length]=i
        }
        console.log(arr5)
    ​
        // 6.
        let arr6=['red','pink','blue','skyblue','hotpink','black','green']
        let arr6_1=[]
        for(let i=arr6.length-1;i>=0;i--){
          arr6_1[arr6_1.length]=arr6[i]
        }
        console.log(arr6_1)

3.3 判断数组
  • 判断简单数据类型:typeof

  • 判断一个变量是否是数组 Array.isArray(变量名)

  • 判断变量是否是伪数组:instanceof

        var arr=[1,2,4]
        var str='hello'
        console.log(Array.isArray(arr)) //true
        console.log(Array.isArray(str))  //false
        console.log(arr instanceof Array)  //true
        console.log(str instanceof Array)  //false
        console.log(str instanceof String)  //false

3.4 数组方法
  1. 增-push、unshift

    数组名.push(添加的数据):添加到数组最后面,返回值为添加元素后数组长度

    给数组添加元素后,length属性和index都会增加

    数组名.unshift(添加的数据):添加到数组最前面

    给数组添加元素后,length属性和index都会变化

    注意:是在原数组基础上修改的

  2. 删-pop、shift

    数组名.pop():删除数组最一个元素,返回值为删除的元素

    数组名.shift():删除数组第一个元素,返回值为删除的元素

    注意:是在原数组基础上修改的

  3. 数组翻转-reverse

    数组名.reverse()

    ​    var arr=[1,2,3,4,5,6]
        console.log('arr:'+arr)
        console.log('arr翻转后为:'+arr.reverse())

  4. 数组排序-数组名.sort()

    数组名.sort() 方法需要传入参数来设置升序、降序排序

    • 如果传入“function(a,b){ return a-b;}”,则为升序

    • 如果传入“function(a,b){ return b-a;}”,则为降序

          var arr = [2, 3, 6, 1, 8]
          console.log('arr:' + arr)
          console.log(arr.sort(function (a, b) {
            return a - b;
          }))  // [1, 2, 3, 6, 8]
          console.log(arr.sort(function (a, b) {
            return b - a
          }))  // [8, 6, 3, 2, 1]

  5. 查找元素的索引-indexOf

    查找元素的索引,从前向后查找,有相同元素只能返回第一个相同的元素,未找到返回-1

    数组名.lastIndexOf():从后向前查找

        var arr = [2, 3, 6, 2, 1, 8]
        console.log(arr.indexOf(2))  //0
        console.log(arr.indexOf(0))  //-1
        console.log(arr.lastIndexOf(2))  //3

  6. 数组转化为字符串方法-join()

    数组名.join():括号内什么都不写,默认以逗号分隔转化为字符串

        var arr = [2, 3, 6, 2, 1, 8]
        console.log(arr.join())  //2,3,6,2,1,8
        var arr1 = [2, 3, 6, 2, 1, 8]
        console.log(arr1.join('-'))  //2-3-6-2-1-8

  7. 将字符串转化为数组-split()

    字符串的变量名.split(符号):括号内的特殊符号需要改成字符串中每个元素的分隔符号,才能转换

        var str='1,2,3,4'
        console.log(str.split(','))  // ['1', '2', '3', '4']
  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值