认识一下数组和它的朋友们
全家福
总体上可将方法分为两大类: 改变原数组(mutator methods) 和 不变原数组(accessor methods)
Mutator methods
copyWithin: 复制指定位置的元素到指定位置,返回修改过后的数组
fill 用指定元素替换指定位置元素, 返回修改过后的数组
pop 移除最后一个元素,并返回它
push 数组尾部追加新元素,返回修改过后的数组
reverse 反转数组,返回修改过后的数组
shift 移除头部第一个元素,并返回它
sort 默认按照
Unicode code points
对数组排序,并返回splice 从制定位置移除/增加指定位数的元素
unshift 在头部添加指定元素
Accessor methods
concat 合并两个数组
includes 判断数组是否含有指定元素,返回 ture / false
indexof 返回指定元素的索引
join 将数组/类数组(具有 length 属性)拼接为字符串并返回
lastindexof 返回指定元素最后一次出现的索引
slice 挑选出指定 起始-结束 的数组元素,返回由其组成的新数组
toSource (非标准)
如何记忆 push pop shift unshift
个人总是记不住这四个方法的对应关系,直到看了 JS 高级编程指南将它们又细分为 栈方法 队列方法
栈方法 模仿栈的行为 LIFO(Last In Firest Out)
push()
+ pop()
实现
队列方法 模仿栈的行 FIFO(First In First Out)
shift()
+ push()
正向操作队列
unshift()
+ pop()
反向操作队列
利用数组实现队列
1 | function Queue() { |