JavaScript 实现常见数据结构 —— 数组

数据结构通常与算法在一起出现。如果想要对常见算法有一定的掌握,那么作为算法构建的基础 —— 数据结构,就不能不熟练掌握。

众所周知,数据结构是为算法服务的,而算法操作需要在特定的数据结构之上。如:二分查找等排序算法,需要在有随机访问特性的数组之上实现,而如果将数据保存在链表或者字典中,算法实现将变得困难。

 

下面就对 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() 追加元素到数组尾

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

 

- shift() 删除数组首的一个元素并返回;

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

  

- unshift() 追加元素到数组首

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' ]

 

 

以上。

posted @ 2019-06-01 14:09  mykiya  阅读(661)  评论(0编辑  收藏  举报