数组中常用的API

加粗样式

添加:posh unshif
删除: pop shif
索引查找: indexOf
将类数组转换为真正数组:Array.from();
连接多个字符,形成一个新数组:concat();
用不同的分隔符,将数组构建成一个字符:joun();
判断某个数据是否是数组是返回true否则返回false; Array.isArray();
数组的反转:reverse();
数组排序,默认排列顺序是按照unicode编码进行排列:sort();

    /*
        添加 : push  unshift
        删除: pop  shift
        indexOf()
        */

      // 1. Array.from(likeArr) 将类数组转换为 真正的数组
      var str = "hello";
      console.log(str.length);
      console.log(str[0]);

      var arr_str = Array.from(str);
      console.log(arr_str);
      console.log(arr_str instanceof Array);

      var str2 = "123456789"; // [1,2,3,4,5,6,7,8,9]-->[2,4,6,8,10,12,14,16,18]
      var arr_str2 = Array.from(str2);
      console.log(arr_str2);
      console.log("------------------------------------------------");
      // Array.from(参数1,参数2)
      // 参数1:必填 ;  参数2:可选择
      //  Array.from()方法会遍历数组中的每一个元素,每遍历到一个元素,就会执行一次回调函数。最终会将处理过后的数据放入新数组中返回出去。
      var newArr = Array.from(str2, function (value, key) {
        // console.log(value); // 指的是数组中的元素
        // console.log(key);  // 指的是数组中元素的索引
        return value * 2;
      });
      console.log(newArr);

      // 2.arr1.concat(arr2) 连接多个数组,形成一个新数组
      var arr1 = ["a", "b", "c"];
      var arr2 = [1, 2, 3];
      var newArr2 = arr1.concat(arr2);
      console.log(newArr2);

      // 3.join()用不同的分隔符,将数组构建成一个字符串
      var arr3 = ["2020", "12", "21"];
      // 2020/12/21
      var str3 = arr3.join("-");
      console.log(str3);

      // 4.判断某个数据是否 是数组,如果是,返回true,否则 返回false
      console.log(Array.isArray(str));

      // 5.数组的反转
      var arr4 = ["a", "b", "c", "d"];
      console.log(arr4.reverse());

      // 6.sort()数组排序,默认排列顺序是按照字符的Unicode编码进行排列
      var arr5 = [20, 31, 11, 100, 8, 27];
      console.log(arr5.sort());

      // 如果要得到我们想要的 升序/降序排列的结果,需要提供一个比较函数。
      // [8,11,20,27,31,100]
      function sortNum(a, b) {
        // return a - b;  //升序
        return b - a; //降序
      }
      console.log(arr5.sort(sortNum));

      // 7.splice(参数1,参数2,参数3,参数4...) 删除开始索引后的 某几个元素,然后再插入新的元素。(注意:是在原数组上进行修改,不会反回新数组)
      // 参数1:从哪开始删除
      // 参数2:删除几个元素
      // 从第3个参数开始往后这些参数,表示要插入的元素
      var arr6 = ["a1", "b1", "c1", "d1"];
      arr6.splice(1, 3, "b", "c", "d", "e");
      console.log(arr6);

      // 8.slice(startIndex,endIndex) 截取数组中的某几个元素,形成新数组
      // 注意:截取时,包含开头,不包含结尾。
      var arr7 = ["a1", "b1", "c1", "d1"];
      console.log(arr7.slice(0, 2));

      // 总结: push  pop  shift  unshift  splice 这几个方法是直接修改原数组,不会返回新数组
      //  from  concat  sort  slice  这几个方法,会给我们反回新数组,原数组保持不变。

      // 9.数组遍历(迭代)的方法
      // 9-1  for循环遍历数组

      // 9-2 forEach(),与for循环类似
      var arr8 = ["a", "b", "c", "d", "e", "f"];
      arr8.forEach(function (value, index, array) {
        // value: 指的是 数组中的元素
        // index: 指的是 元素对应的索引号
        // array:指的是 arr8
        console.log(value);
        // console.log(index);
        // console.log(array);
      });
      var arr9 = [10, 22, 11, 43, 50];
      // 求 arr9中元素的和是多少?
      var sum = 0;
      arr9.forEach(function (value) { 
        // sum += value;
        sum = sum + value;
      });
      console.log(sum);

      // 9-2 map() 映射,对数组中的每一个元素运行指点的函数,返回每次函数调用的结果,组成新数组。
      var arr10 = [1, 2, 3, 4, 5]; //[2,4,6,8,10]
      // 实现原理:
      // var new_arr10 = [];
      // for(var i = 0; i < arr10.length;i++){
      //     var item = arr10[i];
      //     var new_item = item * 2;
      //     new_arr10.push(new_item);
      // }
      var new_arr10 = arr10.map(function (value, index, array) {
        return value * 2;
      });
      console.log(new_arr10);

      // 9-3 filter() 筛选数组,返回一个新数组
      // 该方法会对数组中的每一个元素运行指定的函数,将满足条件的元素组成新数组。
      var arr11 = [20, 90, 72, 12, 43, 15, 30];
      var new_arr11 = arr11.filter(function (value) {
        return value % 2 === 0;
      });
      console.log(new_arr11);

      // 实现原理:
      // var newArr11 = [];
      // for(var i = 0; i < arr11.length;i++){
      //     var item = arr11[i];
      //     if(item %2 === 0){
      //         newArr11.push(item)
      //     }
      // }

      // 9-4 some() 查找数组中是否有满足条件的元素,如果有,返回true,否则返回false。
      // 在查找的过程中,如果查找到第一个满足条件的元素,就会终止循环。
      var arr12 = [20, 30, 43, 33, 50, 2, 3, 4];
      //
      var flag = arr12.some(function (value) {
        return value < 10;
      });
      console.log(flag);
    //   every() 与 some() 相似。

    //  实现原理:
    //   function fun1(arr) {
    //     for (var i = 0; i < arr.length; i++) {
    //       if (arr[i] < 10) {
    //           return true;
    //       }
    //     }
    //     return false;
    //   }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值