[19,"Tom", 1.65]
,可通过下标值取出信息。{"age": 19, "name": "Tom", "height": 165}
,可以通过 key
取出 value
。Dictonary
,Python 中的 dict
。HashMap
和 TreeMap
等。set(key,value)
向字典中添加新元素。remove(key)
通过使用键值来从字典中移除键值对应的数据值。has(key)
如果某个键值存在于这个字典中,则返回 true
,反之则返回 false
。get(key)
通过键值查找特定的数值并返回。clear()
将这个字典中的所有元素全部删除。size()
返回字典所包含元素的数量。与数组的 length
属性类似。keys()
将字典所包含的所有键名以数组形式返回。values()
将字典所包含的所有数值以数组形式返回。// 字典结构的封装class Map {constructor() {this.items = {};}// has(key) 判断字典中是否存在某个 keyhas(key) {return this.items.hasOwnProperty(key);}// set(key, value) 在字典中添加键值对set(key, value) {this.items[key] = value;}// remove(key) 在字典中删除指定的 keyremove(key) {// 如果集合不存在该 key,返回 falseif (!this.has(key)) return false;delete this.items[key];}// get(key) 获取指定 key 的 value,如果没有,返回 undefinedget(key) {return this.has(key) ? this.items[key] : undefined;}// 获取所有的 keykeys() {return Object.keys(this.items);}// 获取所有的 valuevalues() {return Object.values(this.items);}// size() 获取字典中的键值对个数size() {return this.keys().length;}// clear() 清空字典中所有的键值对clear() {this.items = {};}}
const map = new Map();// set() 测试map.set("name", "XPoet");map.set("age", 18);map.set("email", "i@xpoet.cn");console.log(map); // {items: {name: "XPoet", age: 18, email: "i@xpoet.cn"}}// has() 测试console.log(map.has("name")); //--> trueconsole.log(map.has("address")); //--> false// remove() 测试map.remove("name");console.log(map); // {age: 18, email: "i@xpoet.cn"}// get() 测试console.log(map.get("age")); //--> 18// keys() 测试console.log(map.keys()); //--> ["age", "email"]// values() 测试console.log(map.values()); //--> [18, "i@xpoet.cn"]// size() 测试console.log(map.size()); //--> 2