小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
JavaScript 数组之于 栈与队列
数组 Array 定义
- 定义理解:
数据结构之一 数组, 是被等分成 length 个小块的连续内存段, 每一个小块与一个整数关联. 这个整数即为数组的下标(索引),
-
数组的
length数组的这一神奇属性:
length, 并不是指数组中元素的数量, 而是数组中元素的最高序数 +1. -
数组对象都继承自
Array.prototype, 之于Object.prototype多了一些更实用的方法
数组类型判断:
数组到底是一个什么类型? 在使用 typeof 进行判断时却返回 'object', 这可有点迷惑.
通常我们还有一个方法判断一个值是不是数组: Array.isArray(value)
const array_is_what = new Array(621)
typeof array_is_what // ==> "object"
Array.isArray(array_is_what) // true
// 返回值为 true, 则是一个数组
栈与队列 一定要理解透彻了!
-
栈: 先进后出
-
队列: 先进先出
数组 之与 栈
数组的一些方法在一起使用时, 就会让数组与 栈 类似.
.pop() 方法用于返回数组中的最后一个元素, 并将这个元素从原数组中删除.
.push(value) 方法则将传入的值添加到数组的末尾
数组 之与 队列
.shift() 方法, 用于移除并返回数组中的下标为 0 的元素, 这与 .pop() 类似 但又刚好相反
.unshift() 方法则与 .push(value) 方法类似, 但是是将元素插入到数组的开头
当 .shift() 方法与 .push(value) 方法一起使用时,
这时数组就像一个队列.