昨天实习的时候,有个需求需要在javascript中使用HashMap的功能,我大脑一懵,JavaScript有map这种结构吗?百度了一下,果然有!在此记录一下JavaScript中相关的集合类操作。
function list_test() { let list = [1, 2, 3, 4, 5]; // 向最后插入一个元素 list.push(6); // [ 1, 2, 3, 4, 5, 6 ] console.log(list); // 删除最后一个元素 list.pop(); // [1, 2, 3, 4, 5] console.log(list); list[4] = 100; // [ 1, 2, 3, 4, 100 ] console.log(list); // 转字符串 "1,2,3,4,100" console.log(list.join(",")) // 删除下标从0开始的2个元素,并添加后面的元素 list.splice(0,2,"a","b","C","a"); // [ 'a', 'b', 'C', 'a', 3, 4, 100 ] console.log(list); Array.prototype.remove = function(value){ let index = this.indexOf(value); if(index > -1){ this.splice(index,1); } }; list.remove('a'); // [ 'b', 'C', 'a', 3, 4, 100 ] console.log(list); } function map_test(){ let map = new Map(); map.set("lisi","李四"); map.set("zhangsan","张三"); // 张三 console.log(map.get("zhangsan")); // true console.log(map.has("zhangsan")); map.delete("zhangsan"); // undefined console.log(map.get("zhangsan")); // false console.log(map.has("zhangsan")); map.forEach(function(value,key){ console.log(value,key); }); for(let [key,value] of map){ console.log(key,value) } } function set_test(){ let set = new Set(); set.add(2); set.add(23); set.add(32); set.add(2); set.add(322); set.add(332); set.add(12); set.add(27); console.log(set); // 虽然没有 但是不报错 set.delete(5); set.delete(2) console.log(set); set.forEach(element => { console.log(element); }); } set_test();其他的操作,比如集合的交差并补,遇到的时候在说吧。