前端提高篇(二十九)JS进阶21常见字符串处理需求及URL编码,前端开发师课程

31 阅读4分钟

在这里插入图片描述

字符串长度与字节长度(图中写错了)

单字节与双字节:为了节省内存,能用单字节存储的就用单字节,不能时再存在双字节中,比如能用ASCII单字节编码的就用ascii,不能时就用Unicode双字节

var s = 'ccy与anzhi'

var len = s.length;//字符串长度

var lenB = 0;//存储字节长度

for (var i = 0; i < len; i++){

if (s.charCodeAt(i) > 255){

lenB += 2;//ASCII码值最大是255

}else lenB ++;

}

在这里插入图片描述

字符串拼接:s1+s2+s3与s1.concat(s2,s3)

建议使用加号,简单,但注意数字与字符相加的隐式类型转换

在这里插入图片描述

字符串查找:charAt,indexOf,lastIndexOf,match,search

s.charAt(i):查找s中对应下标i位置的字符

s.indexOf(‘aa’,9):查找s中从下标9开始第一个’aa’的位置,没有找到就返回-1

s.lastIndexOf(‘aa’,15):查找s中从下标15处往前找,最后一个’aa’的位置,没有找到就返回-1

match,search与正则匹配使用,可以查找非固定的字符串,之后再更新

在这里插入图片描述

在这里插入图片描述

indexOf和lastIndexOf的第二个参数的范围都是0-s.length,左闭右开,如果传入的是负数,就会被当作0,对indexOf相当于没有传第二个参数,lastIndexOf会返回-1

在这里插入图片描述

字符串截取:slice(start,end)和substring(start,end)

截取区间是左闭右开的,不包含下标为第二个参数的字符

当开始start和结束end数字写错了,start>end时,slice返回空字符串,substring会自行比较start和end的大小,调整位置

在这里插入图片描述

slice可以支持参数为负数,substring会将负数转成0,再截取,因此s.substring(3,-1)相当于s.substring(0,3)

在这里插入图片描述

字符串替换replace,会涉及到正则表达式,也放到后面再一起更新

字符串和数组的转换:join和split

数组转字符串:join,高效方式,性能也很赞

在这里插入图片描述

字符串转数组:split

在这里插入图片描述

根据空格拆解:

在这里插入图片描述

根据正则表达式拆解:

在这里插入图片描述

URL编码:

encodeURI:当我们要写a标签里的链接时,需要将关键词拼接成网址,将其中的汉字或特殊字符转成Unicode编码

URI解码:decodeURI

在这里插入图片描述

算法

  1. 冒泡排序

  2. 选择排序

  3. 快速排序

  4. 二叉树查找: 最大值、最小值、固定值

  5. 二叉树遍历

  6. 二叉树的最大深度

  7. 给予链表中的任一节点,把它删除掉

  8. 链表倒叙

  9. 如何判断一个单链表有环

由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

开源分享:docs.qq.com/doc/DSmRnRG…