Javascript自学随笔:Reference Types
Reference Types
REGEXP - 正则表达式类型
正则表达式速记表:
更多:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Cheatsheet
Array
创建array- ES6:
from(x, map):转换和array相似的,可遍历或者有长度和序号的对象。map = x =>{代码}。
of():转换参数为array。
判断array数组方法:
Array.isArray():鉴别array。
a instanceof Array,缺点是instanceof不适合处理多个全局的情况。网页的两个页面帧代表两个不同的全局执行环境,如果你把一个array从第一帧送进第二帧,你是在拿第一帧的Array instance 和第二帧window里的Array比。
variable.constructor === Array:同上。
转换方法:
toString(), valueOf(): 等价于对每个element toString()转换
toLocalString(): 等价于对每个element toLocalString()转换,一般没差。
栈和队列:
LIFO: pop() , push()
FIFO:shift() + push() (或者 unshift() + pop()
增改方法:
reverse(): 反转
sort():排序
concat: 展开加入
slice():不改变原array, slice(开始,结束),slice(开始,删几个,插入1,插入2…)
搜索方法:
indexOf():返回-1如果没找到
includes():返回false如果没找到
lastIndexOf():从后往前数
find(): find((ele, index, array)=>{ele.age < 28 })
findIndex():同上
遍历方法:
都不改变原变量。
遍历方法 - es6:
keys(), values(), entries().keys(): 返回iterator.entry格式为[key, value]。
array内部浅拷贝 - es6:
copyWithin(start, end, des)
累进方法:
reduce((prev, cum, index, array) =>{},init)
Map
const m1 = new Map([[key1,val1], [key2,val2]…])
const m1 = new Map(function*(){
yield [key1,val1];
yield [key2,val2]…})
常见方法:
set(), get(), has(),delete(), clear()
Map VS Object:
- Map存储单位键值对需要更少内存
2.Map的插入/删除更高效