1、数组

  • push() -----> 向数组末尾添加新的数组项,参数为要添加的项,返回值是新数组的长度,原数组改变
  • pop() -----> 删除数组末尾的最后一项,参数无,返回值是删除项,原数组改变
  • unshift() -----> 向数组头部添加新的数组项,参数为要添加的项,返回值是新数组的长度,原数组改变
  • shift() -----> 删除数组头部的第一项,参数无,返回值是删除项,原数组改变
  • splice() -----> 终极神器(添加、删除、替换)参数(开始索引(绝对索引),删除元素的个数(删除动作执行次数),插入的新元素(可以有多个)),返回值是删除项,原数组改变
    • 删除:

      console.log(this.arr.splice(1,3))//[2,3,4]   原数组[1,2,3,4,5]
      console.log(this.arr)//[1,5]
    • 增加:第二个参数为0;
      this.arr.splice(1,0,7,77);//[]没有删除,返回空数组  原数组[1,2,3,4,5]
      console.log(this.arr)//[1, 7, 77, 2, 3, 4, 5]
    • 替换:
      this.arr.splice(1,2,7,77);//[2,3]   原数组[1,2,3,4,5]
      console.log(this.arr)//[1, 7, 77, 4, 5]
  • slice(start,end) -----> 从开始索引处的字符串截取到结束索引(不包括结束索引的字符),返回值是截取好的新数组,原数组不改变;参数支持负数,从倒数项开始,-1为最后一项,slice(n)表示从第n项截取到最后一项,slice()与slice(0)表示复制整个数组;
  • join() -----> 用指定的分隔符将数组每一项拼接为字符串,参数为分隔符,默认为逗号,返回值是拼接好的新数组,原数组不改变
  • concat() -----> 用于连接数组,参数为数组,返回值是连接好的数组,原数组不改变
  • sort() -----> 用于对数组元素进行排序,返回值时排序好的新数组,原数组改变
    • 升序:arr.sort( function(a , b){ return a - b })
    • 降序:arr.sort( function(a , b){ return b - a })
    • 当没有参数时,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较,如果要进行排序,则需要使用函数;
  • reverse() -----> 将数组进行倒序,参数无,返回值是倒序后的新数组,原数组改变
  • indexOf( item,start ) -----> 查找指定字符在字符串中首次出现的位置,返回值是查找到的元素索引,如果不存在,返回-1,原数组不改变
  • lastIndexOf( item,start ) -----> 查找指定字符在字符串中最后一次出现的位置,返回值是查找到的元素索引,如果不存在,返回-1,原数组不改变
  • 数组循环的方法:
    • while

      var i = 0;
      var length = this.arr.length
      while(i < length - 1){
      console.log(this.arr[i]);
      i++;
      }
    • do......while
      var i = 0;
      var length = this.arr.length;
      do {
      console.log(this.arr[i]);
      i++;
      } while (i < length);
    • for循环
      //  正向循环
      for (var i = 0; i < this.arr.length; i++) {
      console.log(this.arr[i]);
      }
      // 反向循环
      for(var j = this.arr.length-1;j >= 0;j--){
      console.log(this.arr[j])
      }
    • for....in(性能比较差,主要用于循环对象)
      for(let key in this.arr){
      console.log(key);//key表示键值
      console.log(this.arr[item])
      }
      存在以下问题:
      1、index索引为字符串型数字,不能直接进行几何运算
      2、遍历顺序有可能不是按照实际数组的内部顺序
      3、使用for in会遍历数组所有的可枚举属性,包括原型。例如上栗的原型方法method和name属性
    • forEach()(ES5)----->   没有返回值,原数组不改变;不支持低版本浏览器
      forEach方法中的this是原数组,匿名回调函数中的this默认是window;

      var res = this.arr.forEach(function(item, index, ary) {
      return item;
      });
      console.log(res);//undefined
      this.arr.forEach(function(item,index,ary){//item:数组的每一项 index:索引 ary:当前数组
      console.log(item,index,ary)
      })
    • map() -----> 数组中的元素为原始数组元素调用函数处理后的值,支持返回值,返回值是新数组,原数组不改变;不支持低版本浏览器
      var res = this.arr.map(function(item, index, ary) {// arr: [1, 2, 5, 6, 8, 9, 10]//item:数组的每一项 index:索引 ary:当前数组
        return item + 1;
      });
      console.log(res);//[2, 3, 6, 7, 9, 10, 11]
    • filter() -----> 返回符合条件的数组,用来过滤,支持返回值,返回值是新数组,原数组不改变
      var res = this.arr.filter(function(item, index, ary) {
      // arr: [1, 2, 5, 6, 8, 9, 10] //item:数组的每一项 index:索引 ary:当前数组
      return item <;
      });
      console.log(res); //[1,2]
    • every() -----> 检测数组的每一项是否都符合指定条件,返回值是布尔值,原数组不改变;如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测; 如果所有元素都满足条件,则返回 true。
      var res = this.arr.every(function(item, index, ary) {
      // arr: [1, 2, 5, 6, 8, 9, 10] //item:数组的每一项 index:索引 ary:当前数组
      return item <;
      });
      console.log(res); //false
    • some() -----> 检测数组中的元素是否满足指定条件,返回值是布尔值,原数组不改变;如果数组中检测到有一个元素满足条件,则表达式返回 true , 剩余的元素不会再执行检测;如果没有满足条件的元素,则返回 false。
      var res = this.arr.some(function(item, index, ary) {
      // [1, 2, 5, 6, 8, 9, 10]
      //item:数组的每一项 index:索引 ary:当前数组
      return item > 20;
      });
      console.log(res);//false
    • reduce(prep,index) -----> 归并,遍历数组元素,prep代表上一次的返回值,next代表下一个数组元素,第一次计算为arr[0]与arr[1];
      var res = this.arr.reduce(function(prep,next){//arr: [1, 2, 3, 4, 5]
      return prep + next
      })
      console.log(res)//10
    • find() -----> 这个方法是返回数组中符合条件的第一个元素,否则返回undefined;
      let arr = [, , , , ];
      let res = arr.find((item) => {
      return item >
      })
      console.log(res)//
    • findIndex() -----> 这个方法是返回数组中符合条件的第一个元素的索引值,否则就返回-1;
      let arr = [, , , , ];
      let res = arr.findIndex((item) => {
      return item >
      })
      console.log(res)//
    • includes() ----- > 这个方法是判断数组中是否包含有指定的值,包含就返回true,否则就是false,它接受两个参数,第一个为搜索的值(必填),第二个为搜索开始的位置(选填,默认从0开始)
      let arr = [, , , , ];
      let res = arr.includes()
      console.log(res)//true let arr = [, , , , ];
      let res = arr.includes()
      console.log(res)//false

2、字符串

  • 定义:

    • 实例方式:
    • 字面量的方式:
  • API:str = "this is a cute dog!"
    • length -----> 返回字符串的长度;
    • charAt(index) -----> 返回在指定位置的字符;
    • charCodeAt(index) -----> 返回在指定位置的字符的ASCII码值;
    • fromCharCode -----> 参数为一个ASCII码值,然后返回指定的字符串,为String的静态方法,只能String调用;
    • indexOf() -----> 返回指定字符在字符串中出现的位置(从左到右),否则返回-1;
    • lastIndexOf() -----> 返回指定字符在字符串中最后一次出现的位置(从右到左),否则返回-1;默认从末尾开始搜索;
    • concat() -----> 用于连接字符串,为拼接;
    • slice(start,end) -----> 用于截取开始索引到结束索引(不包括结束索引)的字符串,支持负数;
    • split() -----> 用于把字符串分隔为数组;
    • substr(start,length) -----> 从开始索引出发,提取指定长度的字符串;length不存在则返回到末尾的字符串;
    • substring(start,end) -----> 提取从start到end(不包括end)处的字符串;
    • toUpperCase() -----> 将指定字符串转化为大写格式;
    • toLowerCase() -----> 将指定字符串转化为小写格式;

    • str.match(regExp) -----> 在字符串内检索与正则表达式匹配的值,匹配不到返回Null;

看完文档在进行扩展

    • str.search(reg/str) -----> str中第一个与正则或者字符串相匹配的起始位置,无匹配返回-1;

       console.log("search-----" + this.str.search('i')); //2
    • replace() ----->  看完文档在进行扩展;
    • trim() -----> 消除字符串前后的空格;

3、日期

  • 定义:var date = new Date(),结果为中国标准时间,表现为:Tue Jul 16 2019 14:54:32 GMT+0800 (中国标准时间)
  • 指定时间转化为标准时间:new Date(value)
    console.log(new Date(1563260303738)) //Tue Jul 16 2019 14:58:23 GMT+0800 (中国标准时间)
  • API
    • getFullYear -----> 返回年份;
    • getMonth -----> 返回月份(0~11),实际月份需要  +1 ;
    • getDate -----> 返回一个月中的某一天(1~31);
    • getHours -----> 返回小时(0~23);
    • getMinutes -----> 返回分钟(0~59);
    • getSeconds -----> 返回秒数(0~59);
    • getMilliseconds -----> 返回毫秒值(0~999);
    • getDay -----> 返回一周中的某一天(0~6),0代表周日;
    • getTime -----> 返回从1970年1月1日到现在的ms数,为一个时间戳;

4、正则

  • 限定符:

  • 参数:

  • 其他:

    • 后续扩展
  • 111

5、Math(Object)

  • API:

    • Math.abs() -----> 获取绝对值;
    • ceil() -----> 向上取整;
    • floor() -----> 向下取整;
    • round() -----> 四舍五入(正数时,包含5向上取整,负数时,包含5向下取整);
    • max() -----> 最大值;
    • min() -----> 最小值;
    • pow(n,m) -----> n的m次方;
    • sqrt(n) -----> 对n进行开方;
    • random() -----> 获取  [0,1) 之间的随机小数,Math.round(Math.random() * (m - n) + n ),获取[ n , m ] 之间的随机整数;

6、遇到的问题

Js基本类型中常用的方法总结的更多相关文章

  1. 总结Array类型中常用的方法

    Array类型应该是 ECMAScript 中最常用的类型之一了,并且它定义的数组与其他语言有着相当大的区别.数组是数据的有序集合,我们可以通过下标对指定位置的数据进行读 写:特别的是,在 ECMAS ...

  2. C语言中常用计时方法总结

    转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t ...

  3. org.apache.commons.lang.StringUtils中常用的方法

    org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...

  4. String对象中常用的方法

    String对象中常用的方法   1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码.strObj.charCodeAt(index)说明:index将被处理字符的从零开始 ...

  5. String:(字符串)中常用的方法

    package stringyiwen; //字符串中常用的方法public class StringTest03 { public static void main(String[] args) { ...

  6. js经典试题之常用的方法

    js经典试题之常用的方法 1.下面代码输出的值 let s = "bob" const replaced = s.replace('b', 'l') replaced === &q ...

  7. 大数据学习day13------第三阶段----scala01-----函数式编程。scala以及IDEA的安装,变量的定义,条件表达式,for循环(守卫模式,推导式,可变参数以及三种遍历方式),方法定义,数组以及集合(可变和非可变),数组中常用的方法

    具体见第三阶段scala-day01中的文档(scala编程基础---基础语法)  1. 函数式编程(https://www.cnblogs.com/wchukai/p/5651185.html): ...

  8. 【java】开发中常用字符串方法

    java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变 ...

  9. String类中常用的方法

    @Test public void demo(){ // 以下为String中的常用的方法及注释, 最常用的注释前有**标注 String s = "abcdefg123456"; ...

随机推荐

  1. i3wm 配置刷新生效 和 使用mod快捷打开 ranger 小贴士

    在某处学习到了如何配置i3wm后,对其极感兴趣. 学习到的经验总结: Linux中的各种命令操作其实都要首先查阅 man command  或者  command -h  或者  command -- ...

  2. PAT Advanced 1036 Boys vs Girls (25 分)

    This time you are asked to tell the difference between the lowest grade of all the male students and ...

  3. VB学习一

    一.基础函数 CStr() 函数转化表达式为一个字符串 Trim() 移除字符串两侧的空白字符串或者其他预定义字符 成功:返回删除后的字符串 失败:返回空字符串 VBA.Mid(string,star ...

  4. L3-015. 球队“食物链”

    某国的足球联赛中有N支参赛球队,编号从1至N.联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场. 联赛战罢,结果已经尘埃落定.此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链 ...

  5. du df的用法

    1,两者区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.他计算的大小就是当前他认为存在的所有文件大小的累加和. df, ...

  6. angular,,以及深度拷贝问题;JSON.parse,JSON.stringify灵活运用

    问题: $scope.list = [];$scope.listTree = {};$scope.dataTree = []; //获取listTree的数据$scope.getList = func ...

  7. Sublime3 配置node.js 环境 The process "node.exe" not found

    配置中文显示调试结果 [下载地址](https://github.com/tanepiper/SublimeText-Nodejs) 1. 到上述地址下载压缩文件 2.将文件解压到sublime的插件 ...

  8. bzoj4817 & loj2001 [Sdoi2017]树点涂色 LCT + 线段树

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4817 https://loj.ac/problem/2001 题解 可以发现这个题就是 bzo ...

  9. scrapy处理post请求的传参和日志等级

    一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息. - 日志信息的种类: ERROR : 一般错误 ...

  10. 51nod1730 涂边

    题目描述 题解 八级sb题 显然可以想到状压 枚举当前的宽度\(I\),设\(f[s]\)表示在当前的宽度下选的竖边的状态为s 再设\(g[s1][s2]\)表示状态s1转移到s2的方案数,枚举中间横 ...