字符串长度与字节长度(图中写错了)
单字节与双字节:为了节省内存,能用单字节存储的就用单字节,不能时再存在双字节中,比如能用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
算法
-
冒泡排序
-
选择排序
-
快速排序
-
二叉树查找: 最大值、最小值、固定值
-
二叉树遍历
-
二叉树的最大深度
-
给予链表中的任一节点,把它删除掉
-
链表倒叙
-
如何判断一个单链表有环
由于篇幅限制小编,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!