JavaScript 實現常見數據結構 —— 數組

數據結構一般與算法在一塊兒出現。若是想要對常見算法有必定的掌握,那麼做爲算法構建的基礎 —— 數據結構,就不能不熟練掌握。javascript

衆所周知,數據結構是爲算法服務的,而算法操做須要在特定的數據結構之上。如:二分查找等排序算法,須要在有隨機訪問特性的數組之上實現,而若是將數據保存在鏈表或者字典中,算法實現將變得困難。java

 

下面就對 JavaScript 語言實現常見的數據結構作個總結,以備爲後續算法學習打下基礎。算法

 

在 JavaScript 中,數組可經過 new Array() 或 [] 建立,而且數組是可修改的對象,這使得用數組實現一些其餘數據結構變得很容易。經常使用的數據方法有:數組

let arr = ['a', 'b', 'c'], arr_1 = ['x', 'y', 'z'];

 

- cancat() 鏈接兩個或者多個數組,而且返回該數組數據結構

let newArr = arr.concat(arr_1);
// newArr: ['a', 'b', 'c', 'x', 'y', 'z']

 

- join() 使用指定字符,將數組各元素連着成字符串返回函數

let str = arr.join('-');
// str: 'a-b-c'

  

- pop() 刪除數組尾的一個元素並返回;學習

let char = arr.pop();
// char: 'c'; arr:['a', 'b']

  

- push() 追加元素到數組尾spa

arr.push('d');
// arr: ['a', 'b', 'c', 'd']

 

- shift() 刪除數組首的一個元素並返回;scala

let char = arr.shift();
// char: 'a'; arr: ['b', 'c']

  

- unshift() 追加元素到數組首code

arr.unshift('a'); 
// arr: ['a', 'a', 'b', 'c']

 

- sort() 對數組元素排序,按照字符順序,可接受函數

let arr_1 = arr.sort(function(a, b){
return b.charCodeAt() - a.charCodeAt();
})
//
arr_1: ['c', 'b', 'a']

 

- splice 經過指定索引刪除元素或添加元素

arr.splice(1, 2) // 刪除index 爲 1的元素開始,長度爲 2的長度
// arr: ['a']

arr.splice(1, 0, 'x', 'y', 'z') // 刪除 index 爲1的0個元素,並添加元素: 'x', 'y', 'z'
// [ 'a', 'x', 'y', 'z', 'b', 'c' ]

 

 

以上。

相關文章
相關標籤/搜索