当前位置: 首页 > news >正文

个人博客网站设计的目的wordpress模板添加支付

个人博客网站设计的目的,wordpress模板添加支付,wordpress域名修改后,seo优化服务是什么意思文章目录 Stack队列链表Setset 用来数组去重set用来取两个数组的并集set用来取两个数组的交集set用来取两个数组的差集 字典 Stack 栈#xff0c;先进后出#xff0c;后进先出。用数组来进行模拟#xff0c;通过push存入#xff0c;通过pop取出。 class Stack {// 带#表示… 文章目录 Stack队列链表Setset 用来数组去重set用来取两个数组的并集set用来取两个数组的交集set用来取两个数组的差集 字典 Stack 栈先进后出后进先出。用数组来进行模拟通过push存入通过pop取出。 class Stack {// 带#表示这是一个私有变量不能在外部对其进行直接修改#items []push(val) {this.#items.push(val);}pop() {return this.#items.pop();}getLength() {return this.#items.length;}clear() {this.#items [];}peek() {return this.#items.at(-1) || this.#items[this.#items.length - 1];}isEmpty() {return this.#items.length 0;} }const stack1 new Stack(); stack1.push(1); stack1.push(2); console.log(stack1); stack1.push(4); console.log(stack1); console.log(stack1.pop());// 用辗转相除法将一个十进制转化为任意进制的数 2到十六进制一般为function tansformTenToNumber(targetNumber,base) {let num targetNumber;const stack new Stack();let result ;const stringMap0123456789ABCDEF;while(num 0) {stack.push(stringMap[num % base]);num Math.floor(num / base);}while(stack.getLength() ! 0) {result result stack.pop()}return result }console.log(tansformTenToNumber(50,2)) // 110010 console.log(tansformTenToNumber(1501,16)) // 5DD队列 为什么用对象来封装队列而不用数组呢因为当数组shift的时候会造成一定的性能问题。 当你将数组第一个移动实际上整个数组所有的子元素都会跟着移动。 class Queue { // 带#表示这是一个私有变量不能在外部对其进行直接修改#items {};#min 0;#max 0;push(val) {this.#items[this.#max] valthis.#max}shift() {// 如果已经为空就没有东西可以取if(this.isEmpty()) {return undefined}// 取出数字最小的先进先出麻let result this.#items[this.#min]this.#minreturn result}clear() {this.#items {}this.#max 0;this.#min 0;}size() {return this.#max - this.#min}isEmpty() {return this.size() 0} }const queue new Queue()queue.push(deng) queue.push(xi) queue.push(yang) queue.push(xi)console.log(queue.size()) // 4 console.log(queue.isEmpty()) // false console.log(queue.shift()) // deng console.log(queue.shift()) // xi console.log(queue.shift()) // yang console.log(queue.shift()) // xi console.log(queue.shift()) // undefined console.log(queue.isEmpty()) // truequeue.push(deng) queue.push(xi)console.log(queue.shift()) //deng console.log(queue.clear()) console.log(queue.isEmpty()) // true queue.push(yang) queue.push(xi) console.log(queue.size()) // 2// 击鼓传花 // 参与者按照一定顺序一次被选中当鼓声停止时被选中的人淘汰 // 直到场上剩下最后一人为止。// 接受两个参数第一个参数参与人的数组 // 第二个参数鼓声每次敲击多少下,敲击多少次后必须淘汰拿花的人 function passingFlower(list, num) {const queue new Queue()// 先将list 全部放入队列中for(let i 0,lenlist.length;i len; i) {queue.push(list[i])}// 当只剩一个人的时候停止循环while(queue.size() 1) {for(let j0, lennum; j len; j) {// 每一次循环都要将队列最前面的人放到最后面去let result queue.shift()queue.push(result)}// 当循环结束淘汰掉一个人直接从队列最前面拿掉不放入队列最后queue.shift()}// 将最后一人作为获胜者返回return queue.shift() }const winner passingFlower([d,e,n,g,x,i], 7)console.log(winner) // n链表 为了解决队列里面移动一个后面的所有元素都会跟着移动的问题出现了新的数据结构链表。链表是不定长度的数据但与数组相比不利于数据的搜索。 // 链表中的单个节点 class LinkElement {constructor(value) {this.value value;this.next null;}setNext(next) {this.next next;}getNext() {return this.next;} } // 链表 class LinkList {constructor() {this.count 0;this.head null;}// 追加链表到里面放置到最后一个push(val) {let link new LinkElement(val);if (this.head null) {// 让头指向第一个节点this.head link;} else {let current this.head;// 如果不为空就要一直找到链表的最后一个然后让最后一个的next指向新的节点while (current.getNext() ! null) {current current.getNext();}current.setNext(link);}// 计算加一this.count;}// 删除制定位置removeAt(index) {// 如果是空的就直接返回if (index 0 || index this.count) {return undefined;}let current this.head;if (index 0) {// 如果是0就让head指向第二个节点this.head current.getNext();} else {// 找到 index的上一个link节点let previous this.findAt(index - 1);// current 就是 index 就是要删除的节点current previous.getNext();// 让 index - 1 的节点的next指向 index 1 的节点这样就把 index 的节点删除了previous.setNext(current.getNext());}// 计算减一this.count--;// 将删除的节点返回return current;}// 找到指定位置的节点findAt(index) {if (index 0 || index this.count) {return undefined;}let current this.head;for (let i 0; i index; i) {// 当循环到最后current 是 index - 1再getNext 就是 indexcurrent current.getNext();}return current;}// 根据val值找第一个节点的索引值indexOf(val) {let current this.head;// 如果没找到返回 -1let result -1;for (let i 0; i this.count; i) {if (current.value val) {result i;}// 不断的往下一个链表找current current.getNext();}return result;}// 删除指定val值的节点removeVal(val) {// 找到对应值的indexlet currentIndex this.indexOf(val);if (currentIndex -1) {return undefined;} else {// 如果有就利用removeAt删除return this.removeAt(currentIndex);}}// 链表的插入在指定位置插入元素,第一个参数是你要插入元素的值第二参数是你要插入链表的位置insert(val, index) {const link new LinkElement(val);// 判断index 是否合理if (index 0 || index this.count) {return false;}// 如果是0就让head指向新的节点if (index 0) {let current this.head;// 让新的节点的next指向第一个节点link.setNext(current);// 然后让指针指向新的第一个节点this.head link;} else {// 找到index - 1 的节点let previous this.findAt(index - 1);// 让新的节点的next指向 index 的节点link.setNext(previous.getNext());// 让 index - 1 的节点的next指向新的节点previous.setNext(link);}// 将count 1this.count;}size() {return this.count;}isEmpty() {return this.size() 0;}getHead() {return this.head;} }const linkList new LinkList();linkList.push(1); linkList.push(2); linkList.push(3); linkList.push(4); linkList.insert(0, 0); console.log(linkList.indexOf(1));linkList.removeAt(1); console.log(linkList);linkList.removeVal(2); console.log(linkList);Set set用对象来封装key和value保存一致。这样就能确保Set里面的内容不会被重复保存。如果要想确保万无一失可以用symboal模拟set这样可以在set里面保存任意内容。 class MySet {#object {};delete(value) {// 删除之前先判断该值是否存在if (this.has(value)) {delete this.#object[value];return true;}return false;}add(value) {// 添加之前也得先判断是否已经存在了不能重复添加if (!this.has(value)) {this.#object[value] value;return true;}return false;}has(value) {return this.#object.hasOwnProperty(value);}clear() {this.#object {};}size() {return Object.values(this.#object).length;}values() {return Object.values(this.#object);} }const set new MySet(); set.add(1); set.add(2);console.log(set.values()); // [1, 2]set.delete(2);console.log(set.values()); // [1] console.log(set.size()); // 1console.log(set.has(1)); // trueset.clear(); console.log(set.values()); // []set 用来数组去重 const arr1 [1,2,3,4,4,5] const arr2 [3,4,5,6]const result Array.from(new Set(arr1)) console.log(result) // [ 1, 2, 3, 4, 5 ]set用来取两个数组的并集 const arr1 [1,2,3,4,4,5] const arr2 [3,4,5,6]// 并集 将两个数组重复的内容全部去重 const union Array.from(new Set([...arr1, ...arr2]))set用来取两个数组的交集 const arr1 [1,2,3,4,4,5] const arr2 [3,4,5,6] const set2 new Set(arr2) // 交集 将两个数组重复的内容全部保留 const intersection arr1.filter(item set2.has(item))set用来取两个数组的差集 const arr1 [1,2,3,4,4,5] const set1 new Set(arr1) const arr2 [3,4,5,6] const set2 new Set(arr2) // 差集 取出arr1对arr2的差集 // 1 2 const intersection arr1.filter(item !set2.has(item)) // 差集 取出arr2对arr1的差集 // 6 const intersection2 arr2.filter(item !set1.has(item))字典 class NewMap {#obj {};keyToString(key) {let KeyStr ;switch (key) {case null:KeyStr null;break;case undefined:KeyStr undefined;default:KeyStr JSON.stringify(key);break;}return KeyStr}// 社区比较受欢迎的计算hashcode方式之一hashCode(key) {let mapKey this.keyToString(key) || ;let hash 5381;for(let i0,lenmapKey.length; ilen; i) {hash (hash * 33) mapKey.charCodeAt(i);}return hash % 1013}set(key, value) {// 通过hashcode来保存keythis.#obj[this.hashCode(key)] {key,value,};}remove(key) {if(this.#obj[this.hashCode(key)]) {delete this.#obj[this.hashCode(key)]return true}return false}has(key) {return this.get(key) ! undefined}get(key) {if(this.#obj[this.hashCode(key)]) {return this.#obj[this.hashCode(key)].value}}keyValues() {return Object.entries(this.#obj)}size() {return this.keyValues().length} }const map1 new NewMap()map1.set(null,null) map1.set(undefined,undefined) map1.set({a:1},{a:1}) console.log(map1.keyValues()) console.log(map1.has({a:1})) // trueconsole.log(map1.get({a:1})) // {a:1}console.log(map1.size()) // 3
http://www.eeditor.cn/news/125805/

相关文章:

  • 全国有哪些做服装的网站三位效果网站模版
  • 建设多语种网站dede网站主页打不开
  • 网站建设需要什么程序员西安电商网站建设
  • 网站logo怎么设计淮北市建设安全监督站网站
  • 如何学建设网站新城镇建设官方网站
  • 免费建立微网站南宁市建设工程造价信息网
  • 标识设计公司网站怎么做有邀请码的网站
  • 快速建网站工具凡科网登录下载
  • 唐山网站从哪里找做网站必须要推广吗
  • 建设淘宝网站的市场分析wordpress第三方jquery
  • 建立企业网站的缺点上海市城乡住房建设厅网站
  • 响应式网站怎么做才实用阿里建站平台官网
  • 桔子建站官网南江县住房和城乡建设局网站
  • 网上网站代码可以下载吗深圳装饰企业前50强
  • 网站优化链接潍坊外贸网站制作
  • 有没有做ppt好看的免费网站深圳ppt设计公司
  • 北京平台网站建设哪家好php网站的特点
  • 20个外国平面设计网站建设网站都需要注意什么
  • 网站建好后广告是不是需要贵阳网站建设制作方法
  • 在百度上做网站推广效果怎么样男女一夜做受视频最新网站
  • 徐州网站制作苏视有什么好的加盟店项目
  • 网站建设技术服务公司购物小程序开发公司
  • 佛山外贸网站建设价位wordpress本地配置
  • 郑州网站建设 郑州网站制作福州医社保增减员在什么网站做
  • 英文网站建设 江门制作企业网站页面多少钱
  • 女孩做网站工作辛苦吗谷歌seo是啥
  • 网站建设图书馆管理系统WordPress添加CA
  • 教人做饮料的网站企业网络搭建毕业设计
  • 江东网站制作怎么做好邯郸网站建设
  • 网站制作技术人员低价网站建设哪个好