JavaScript 数组之于 栈与队列

334 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

JavaScript 数组之于 栈与队列

数组 Array 定义

  1. 定义理解:

数据结构之一 数组, 是被等分成 length 个小块的连续内存段, 每一个小块与一个整数关联. 这个整数即为数组的下标(索引),

  1. 数组的 length

    数组的这一神奇属性: length, 并不是指数组中元素的数量, 而是数组中元素的最高序数 +1.

  2. 数组对象都继承自 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) 方法一起使用时,

这时数组就像一个队列.