学习前端的第三十三天

一、数组

  1. 数组的操作

    • 索引(编号,序号,从 0 开始)

      var arr = ["hello", 3, 4, 5, "world"];
      
      • 数组是一个有序数据的集合
      • 有序的序号,索引
      • 从 0 开始
      • 到哪结束
        • 根据长度,得出,到 length-1
        • 数组的第一个:数组[0]
        • 数组的最后一个:数组[数组.length-1]
        • 增加数组的长度
        • 给不存在的位置赋值
        arr[arr.length] = "哈哈哈";
        
        • 缩短数组的长度
        // 原有长度是5
        arr.length = 3;
        
        • 找到对应索引的数据,赋值(覆盖)
        arr[要修改数据的索引] = "四";
        
        • 根据索引直接获取
        arr[指定位置的索引];
        
    • 数组的方法(对象的方法)

      • push方法
        • 功能:最后的位置新增
        • 参数:要增加的数据,可以是多个
        • 返回值:数组增加之后的长度
        • 是否修改原数组:是
      • unshift方法
        • 功能:开始的位置新增
        • 参数:要增加的数据,可以是多个
        • 返回值:数组增加之后的长度
        • 是否修改原数组:是
      • pop方法
        • 功能:删除最后一位
        • 参数:无
        • 返回值:删除的数据
        • 是否修改原数组:是
      • shift方法
        • 功能:删除第一位
        • 参数:无
        • 返回值:删除的数据
        • 是否修改原数组:是
      • join方法
        • 功能:将数组转成字符
        • 参数:转成字符之后,每个数据之间的间隔符
        • 返回值:转换结果
        • 是否修改原数组:否
      • splice方法
        • 功能:删除并替换指定位置的数据
        • 参数:
          两个:1起始索引,2个数,不插入数据,只删除
          两个以上:1起始索引,2个数,删除,并,后面都是要插入的数据
        • 返回值:删除了的数据
        • 是否修改原数组:是
      • slice方法
        • 功能:截取并拷贝出子数组
        • 参数:
          • 一个:表示从指定位置开始截取,到结束
          • 两个:表示从指定位置到结束位置的前一个
        • 返回值:截取并拷贝出来的新数组
        • 是否修改原数组:否
      • concat方法
        • 功能:将数据合并到新数组并返回
        • 参数:任何数据,如果是数组的话,会被展开再合并进去
        • 返回值:合并之后的新数组
        • 是否修改原数组:否
      • reverse方法
        • 功能:翻转数据
        • 参数:无
        • 返回值:翻转之后的数组,就是修改之后的原数组
        • 是否修改原数组:是
      • sort方法
        • 功能:排序;默认排序规则是字符的比较规则,升序
        • 参数:函数:function(m,n){return n-m;} m-n数值升序,n-m数值降序
        • 返回值:排序之后的数组
        • 是否修改原数组:是
  1. 数组的小分类,不同叫法,特点:里面的数据类型一致

    • 对象数组
      • 都是对象
    • 二维数组
      • 数组里面都是数组
    • 如何使用
      • 逐层解析
  2. 数组的排序

    • 冒泡
    var arr1 = [9, 8, 7, 6, 5, 4, 3, 2, 1];
    for (var i = 0; i < arr1.length - 1; i++) {
         for (var j = 0; j < arr1.length - 1 - i; j++) {
             if (arr1[j] > arr1[j + 1]) {
                 var ls = arr1[j + 1];
                 arr1[j + 1] = arr1[j];
                 arr1[j] = ls;
             }
         }
     }
    console.log(arr1);
    
    • 选择
    var arr2 = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    for (var i = 0; i < arr2.length - 1; i++) {
         var ls = arr2[i];
         var index = i;
         for (var j = i + 1; j < arr2.length; j++) {
             if (ls < arr2[j]) {
                 ls = arr2[j]; //将大的数放在ls中
                 index = j; //记下这个较大数据的索引
             }
         }
         arr2[index] = arr2[i]; //将当前比较的较小的数据放在这个循环中的最大值的位置
         arr2[i] = ls; //将这个循环中的最大值放在arr[i]的位置
    }
    console.log(arr2);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值