《前端之路》之三 數組的屬性 && 操做方法(上)

03:數組的屬性 && 操做方法(上)

1、Array property 數組的屬性

一、constructor
返回對建立此對象的數組函數的引用
[].constructor
// ƒ Array() { [native code] }
二、length
返回 或者 設置數組中元素的數目
const abc = ['a', 'b', 'c']
console.log(abc.length)     // 3

abc.length = 2
console.log(abc)            // ['a', 'b'] 

abc.length = 4
console.log(abc)            // ["a", "b", "c", empty]
三、prototype:使您有能力向對象添加屬性和方法
那麼數組的 prototype 屬於 就是 JS 原生帶的很是多的方法。

2、Array prototype 數組的原型

這裏,咱們就詳細的介紹下 Array prototype 數組的原型 中包含了哪些方法
一、concat()

鏈接兩個數組,並返回結果前端

const a = [1,2,3,4]
const b = [5,6,7,8]

const c = a.concat(b)
// [1, 2, 3, 4, 5, 6, 7, 8]
二、join()

把數組的全部元素放入一個字符串。元素經過指定的分隔符進行分隔java

const a = [1,2,3,4]
const aStrin = a.join(',')  //  "1,2,3,4"

那麼在這個原生方法中咱們經常會用到的這個方法來解決一些問題, 好比調換字符串的排序git

eg:github

const aArray = '1,2,3,4,5,6,7'
const arrayA = aArray.split(',').reverse().join(',')

// "7,6,5,4,3,2,1"
三、pop()

刪除並返回數組的最後一項後端

const testArray = [1,2,3,4,5,6,7]
cosnt a = testArray.pop()       // 7
console.log(testArray)          // [1,2,3,4,5,6]
// pop 和 push 組合成棧
四、push()

向數組的末尾添加一個或多個元素,並返回數組的新長度數組

const a = [12,123,1234]
var l = a.push(12345)   
console.log(l)              // 4
console.log(a)              // [12, 123, 1234, 12345]
五、shift()

刪除並返回數組的第一個元素數據結構

const a = [1,2,23,44,55,66]
const b = a.shift()
console.log(b)              // 1
console.log(a)              // [2, 23, 44, 55, 66]
六、unshift()

向數組的開頭添加一個或多個元素,並返回新的長度函數

const a = [1,2,23,44,55,66]
const b = a.unshift('add')
const c = a.unshift('add', 'second')
console.log(b)              // 7
console.log(a)              // ["add", 1, 2, 23, 44, 55, 66]
console.log(c)              // 8
console.log(a)              // ["add", "second", 1, 2, 23, 44, 55, 66]
利用以上的方法 去實現 棧、隊列、反向隊列

首先解釋下 棧、隊列、反向隊列 分別是什麼意思?prototype

一、棧

棧: 做爲一種數據結構,是一種只能從一端進行數據的增減或者刪除。 即所謂的先進者後出 (水杯)

eg:

var stack = []
stack.push(1)
var item = stack.pop()
二、隊列

隊列: 咱們能夠和 棧 進行對比,即爲:只可以在 表的前端進行刪除,只可以在表的後端進行插入操做. 即 先進者先出 ( 推-注射器 )

eg:

var queue = []
queue.push(1)
queue.shift()
三、反向隊列

反向隊列: 咱們能夠和 隊列 進行對比,即爲:只可以在 表的後端進行刪除,只可以在表的前端進行插入操做. 即 先進者後出 ( 吸-注射器 )

eg:

var reverseQueue = []
reverseQueue.unshift(1)
var item = reverseQueue.pop()
今天就先說到這裏,下班回家~

Github地址,歡迎 Star

相關文章
相關標籤/搜索