字符串方法一览

  1. var str="hello world";
  2. str.charAt(1) //e 返回给定位置的字符
  3. str.charcodeAt(1) //101 返回给定位置字符的字符编码
  4. str[1] //e ie8+
  5. concat() //可以接受任意多个参数拼接成新的字符串,但不会改变原字符串
  6. slice() //截取字符串,接受一或两个参数(开始位置和结束位置),接受负值时会将负值与字符串长度相加
  7. substring() //截取字符串,接受一或两个参数(开始位置和结束位置,会将较小的参数作为起始位置),接受负值时会将负的参数转换为零
  8. substr() //截取字符串,接受一或两个参数(开始位置和截取的字符个数),接受负值时会将第一个负的参数加上字符串长度,将第二个负的参数转换为0
  9. indexOf() //可接受两个参数,要查找的子字符串和查找起点(可选),找到返回位置,找不到返回-1
  10. includes() //判断是否包含指定字符串,返回布尔值
  11. lastIndexOf() //从数组的末尾开始查找
  12. trim() //删除前置和后缀的空格 返回的是字符串的副本,原始字符串不变
  13. toLowerCase() //转小写
  14. toUpperCase() //转大写
  15. toLocaleLowerCase() //转小写,针对地区的方法
  16. toLocaleUpperCase() //转大写,针对地区的方法
  17. match() //接收一个参数,正则表达式或者RegExp对象
  18. search() //接受一个正则,返回字符串中第一个匹配项的索引,没有返回-1
  19. replace() //替换字符串。接受两个参数,第一个是一个字符串或者RegExp对象,
  20. //第二个参数是一个字符串或者函数。如果第一个参数是一个字符串,
  21. //那么只会替换第一个子字符串,要想替换所有唯一的方法就是提供一个
  22. //正则表达式,指定全局g标志
  23. //replace()方法的第二个参数也可以是一个函数
  24. function(match,...,pos,originalText){
  25. match //模式的匹配项
  26. ... //正则表达式定义了多个捕获组的情况下,是第二,三...匹配项
  27. pos //模式的匹配项在字符串中的位置
  28. originalText //原始字符串
  29. }
  30. split() //分割字符串,并返回一个数组。第一个参数接受一个分隔符(可以是字符串或者RegExp对象),
  31. //可选的第二个参数用于指定返回数组的大小
  32. localeCompare() //比较两个字符串,如果字符串在字母表中应该排在字符串参数之前,返回一个负数。相等返回0,之后返回正数
  33. String.fromCharcode() //构造函数本身的静态方法,接收一个或多个字符编码,转换成字符串,与charCodeAt相反
  34. startsWith("xxx") //判断字符串是否以xxx开头,返回布尔值

比较重要的方法

1.split(字符串->数组)

split将字符串转换了数组

split可以将字符串分割为数组

  1. var str = "hello";
  2. var arr = str.split("");
  3. console.log(arr);

image.png

分割带空格间隔的字符串

  1. var str = "win or go home";
  2. var arr = str.split(" ");
  3. console.log(arr);

image.png

将字符串单词反向输出

1.将字符串转换为数组

  1. var str = "win or go home";
  2. var arr = str.split(" ");//["win","or","go","home"]

2.把里面的字符串也转换为数组

  1. arr.forEach(item=>{
  2. var smallArr = item.split(""); //[[w,i,n],[o,r],[g,o],[h,o,m,e]]
  3. })

3.然后将里面数组内容反转,并把里面的数组打开

  1. var newArr = [];
  2. arr.forEach(item=>{
  3. var smallArr = item.split("").reverse().join("");
  4. newArr.push(smallArr);
  5. })
  6. console.log(newArr);

image.png
4.把外面的数组打开

  1. var result = newArr.join(" ");

2.join(数组->字符串)

join是数组的方法

  1. /* 1.["汪峰","赵雷","房东的猫"] */
  2. /* 2. 汪峰/赵雷/房东的猫*/
  3. /* allName = "汪峰/赵雷/房东的猫" */
  4. var obj = [{name:"汪峰",age:10},{name:"赵雷",age:5},{name:"房东的猫",age:6}]
  5. var newArr = obj.map(item=>{
  6. return item.name
  7. })
  8. console.log(newArr.join("/"))

3.slice截取字符串

  1. var str = "123456";
  2. var slice_str = str.slice(0,3); //123

时间戳实现

当前时间

  1. <p id="p"></p>
  2. <script>
  3. setInterval(function () {
  4. var oDate = new Date();
  5. var hour = oDate.getHours();
  6. var minute = oDate.getMinutes();
  7. var seconds = oDate.getSeconds()
  8. function transform(params) {
  9. return params = params < 10 ? "0" + params : params;
  10. }
  11. hour = transform(hour)
  12. minute = transform(minute)
  13. seconds = transform(seconds)
  14. var sum = hour + ":" + minute + ":" + seconds;
  15. var p = document.getElementById("p")
  16. p.innerHTML = sum;
  17. }, 1000)
  18. </script>

倒计时

  1. <p id="p"></p>
  2. <script>
  3. /* 2019-09-19 09:00:00 */
  4. setInterval(function () {
  5. var oDate = new Date();
  6. var playTime = new Date("2019-09-19 09:00:00").getTime()
  7. var mill = oDate.getTime();
  8. var gapTime = playTime - mill;
  9. var seconds = Math.floor(gapTime / 1000);
  10. var hours = Math.floor(seconds / 3600)
  11. seconds = seconds % 3600;
  12. var minutes = Math.floor(seconds / 60)
  13. seconds = seconds % 60;
  14. function transform(params) {
  15. return params < 10 ? "0" + params : params;
  16. }
  17. var sum = transform(hours) + ":" + transform(minutes) + ":" + transform(seconds);
  18. document.getElementById("p").innerHTML = sum;
  19. },1000)
  20. </script>

获取当前年月日

  1. var today = new Date();//获得当前日期
  2. var year = today.getFullYear();//获得年份
  3. var month = today.getMonth() + 1;//此方法获得的月份是从0---11,所以要加1才是当前月份
  4. var day = today.getDate();//获得当前日期
  5. var d = date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate();
  6. var h = date.getHours() < 10 ? ('0' + date.getHours()) : date.getHours()
  7. var f = date.getMinutes() < 10 ? ('0' + date.getMinutes()) : date.getMinutes()
  8. var s = date.getSeconds() < 10 ? ('0' + date.getseconds()) : date.getSeconds()

使用dayjs

  1. const dayjs = require('dayjs');
  2. console.log(dayjs().format('YYYY-MM-DD HH:mm:ss')); // 2019-05-15 13:42:34
  3. console.log(dayjs('2018/08/08').format('YYYY-MM-DD HH:mm:ss')); // 2018-08-08 00:00:00
  4. console.log(dayjs(Date.now() - 3*24*3600*1400).format('YYYY-MM-DD HH:mm:ss')); // 2019-05-11 08:56:00