當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript算法与数据结构——字典详解
生活随笔
收集整理的這篇文章主要介紹了
JavaScript算法与数据结构——字典详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
字典是一種以鍵-值對的形式存儲數據的數據結構,接下來我們將使用JavaScript實現字典數據結構。
1、定義字典類
由于比較字典數據結構比較簡單,就直接上代碼好了。
class Dictionary {constructor () {this.data = []} }2、add()
此方法用于往字典添加元素,需要接受兩個參數,鍵和值
add (key, value) {this.data[key] = value}3、find()
此方法用于通過查找key值返回對應的value
find (key) {return this.data[key]}4、remove()
此方法用于刪除字典中的鍵值對(借助JavaScript的delete()函數)
remove (key) {delete this.data[key]}5、showAll()
此方法用于顯示所有鍵值對
showAll () {for(let key in this.data) {console.log(key + '->' + this.data[key])}}6、count()
此方法用于返回字典中元素的個數,方法中不可以使用length,因為key為字符串的話,length屬性失效,比如let arr = []; arr['one'] = 1; arr['two'] = 2;console.log(arr.length);輸出為0。
count () {let n = 0for (let key in this.data) {n++}console.log(n)}7、pSort()
此方法用于給字典排序,通過排序字典的key即可實現
pSort () {const keySort = Object.keys(this.data).sort()for (let i = 0; i < keySort.length; i++) {console.log(keySort[i] + '->' + this.data[keySort[i]])}}8、clear()
此方法用于清空字典
clear () {for (let key in this.data) {delete this.data[key]}}9、測試實例
let dic = new Dictionary() dic.add('Candy', 999) dic.add('Allen', 666) dic.add('Scott', 777) dic.add('Tom', 555) dic.add('Jack', 333) console.log('字典中的元素有:') dic.showAll() console.log('字典中Tom的值為:') dic.find('Tom') console.log('字典中的元素個數為:') dic.count() console.log('移除字典中key為Jack的元素后的剩余的元素:') dic.remove('Jack') dic.showAll() console.log('按key排序:') dic.pSort() console.log('開始清除所有元素') dic.clear() console.log('清除后字典中元素個數為') dic.count()10、運行結果
使用node環境運行此js文件,node dictionary.js,可見輸出如下:
11、完整源碼
class Dictionary {constructor () {this.data = []}add (key, value) {this.data[key] = value}find (key) {return this.data[key]}remove (key) {delete this.data[key]}showAll () {for(let key in this.data) {console.log(key + '->' + this.data[key])}}count () {let n = 0for (let key in this.data) {n++}console.log(n)}pSort () {const keySort = Object.keys(this.data).sort()for (let i = 0; i < keySort.length; i++) {console.log(keySort[i] + '->' + this.data[keySort[i]])}}clear () {for (let key in this.data) {delete this.data[key]}} } let dic = new Dictionary() dic.add('Candy', 999) dic.add('Allen', 666) dic.add('Scott', 777) dic.add('Tom', 555) dic.add('Jack', 333) console.log('字典中的元素有:') dic.showAll() console.log('字典中Tom的值為:') dic.find('Tom') console.log('字典中的元素個數為:') dic.count() console.log('移除字典中key為Jack的元素后的剩余的元素:') dic.remove('Jack') dic.showAll() console.log('按key排序:') dic.pSort() console.log('開始清除所有元素') dic.clear() console.log('清除后字典中元素個數為') dic.count()《JavaScript算法與數據結構——字典實現》完結,有錯誤歡迎指出,五一快樂~
總結
以上是生活随笔為你收集整理的JavaScript算法与数据结构——字典详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 半路杀出一个程(半路杀出一个侯夫人)
- 下一篇: 东辰控股怎么样(淮南东辰公司待遇)