JavaScript 栈
栈是一种遵从后进先出(LIFO)原则的有序集合。新添加或待删除的元素都保存在栈的同一端,称作栈顶。在栈里,新元素都靠近栈顶,旧元素都接近栈底。 图片展示如下: 3.1 基于数组的栈我们来规划一下栈类需要的方法: **push(element)**: 添加一个(或几个)新元素到栈顶 **pop()**:移除栈顶的元素,同时返回被移除的元素 **peek()**:返回栈顶的元素,不对栈做任何修改 **isEmpty()**:如果栈里没有任何元素就返回true,否则返回false **clear()**:移除栈里所有元素 **size()**:返回栈里元素的个数 **toString()**:转成字符串 完整的Stack类如下 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556class Stack { constructor() { this.items = []; ...
关于自己
关于自己 差点00后的90后,目前为大三在校生,一个在命运长河中挣扎的小鱼。虽然心中不甘,但是目前确实是Worst One。目标是成为全栈工程师、系统架构师。 联系我 邮箱:iyanghong@vip.qq.com 关于本站 本站首版上线发布时间为2020年1月14日,主要用于日常学习、学习笔记记录、生活分享等等。 因本站样式包括后端等等都是博主亲自手写,所以设计上可能有所欠缺。未来会慢慢完善,如有发现一些功能或者布局上的缺陷,欢迎反馈博主邮箱,非常感谢。 技术后端语言为PHP8.0,使用的后端框架为laravel。数据库用Mysql8.0与redis前端为vue2,ui有用到element-ui。系统为Centos7。程序搭载在docker上。
JavaScript 数组排序元素
本文只列举JavaScript中内置的一些排序元素的方法。常用的排序算法在后面会有提到。在本文就不列举了。在本文例子中,我们需要用到的数组都为以下 numbers 数组,就不每个函数一一写出 1let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; reverse()方法reverse() 方法用于颠倒数组中元素的顺序。示例:我们要把numbers内的元素顺序进行颠倒: 12let reverseNumbers = numbers.reverse();console.log(reverseNumbers) // [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] sort()方法上面我们已经用reverse()方法把numbers数组颠倒元素顺序了,那我们再用sort试试: 1console.log(numbers.sort()) // [1, 10, 2, 3, 4, 5, 6, 7, 8, 9] 结果输出[1, 10, 2, 3, 4, 5, 6, 7, 8, 9]...
JavaScript数组迭代
在JavaScript中内置了许多数组可用的迭代方法。在本文例子中,我们需要用到的数组都为以下 numbers 数组,就不每个函数一一写出 1let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; every() 方法迭代 every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。 every() 方法使用指定函数检测数组中的所有元素: 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 如果所有元素都满足条件,则返回 true。 tips:every() 不会对空数组进行检测。every() 不会改变原始数组。 语法: 1array.every(function(currentValue,index,arr), thisValue) 示例:我们判断numbers是不是全是偶数。 123let isAllEven = numbers.every(x => x % 2 === 0);console.log(isAllEven) //...
try-ui规划
try ui 头像 Avatar 按钮 Button 卡片 Card 轮播图 Carousel 折叠面板 Collapse 分割线 Divider 下拉菜单 Dropdown 文本省略 Ellipsis 图标 Icon 页头 PageHeader 标签 Tag 级联选择 Cascader 颜色选择器 Color Picker 复选框 Checkbox 日期选择器 Date Picker 动态标签 Dynamic Tags 表单 Form 文本输入 Input 数字输入 Input Number 单选 Radio 评分 Rate 选择器 Select 滑动选择 Slider 开关 Switch 时间选择器 Time Picker 穿梭框 Transfer 树 Tree 树型选择 Tree Select 上传 Upload 日历 Calendar 代码 Code 表格 Table 数据表格 Data Table 描述 Descriptions 空内容 Empty 图像 Image 列表 List 时间线 Timeline 侧边导航 Anchor 回到顶部 Back...
vue cli4打包显示维护页面状态页面
我们平常在用webpack亦或者vue cli打包项目时,它会先删除对应的output目录,这时候如果网站的根路径正好配置于output目录,那么用户浏览到的资源将不存在,搞得用户还以为网站挂了。所以应该给用户个提示:网站在维护。 执行npm run build 的时候应当显示这个页面,等build完成再显示打包成功后的页面 流程可以这么设计:在webpack compiler钩子在entry配置项处理过之后。这时output目录内容已被删除,在这时重新写入维护页面文件maintenance.html内容。然后再在webpack compiler钩子在编译完成(done)后删除该文件。代码如下: 12345678910111213141516171819202122232425262728293031const fs = require('fs');const path = require('path');class SystemMaintenancePlugin { apply(compiler) { ...
基于curl封装一个http请求
之前每次用到第三方api接口,都是用一次写一次,闲来闲暇,结合之前http调用第三方api接口的实例,封装一下比较基础的http请求类 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160<?phpclass CurlHttp{ private array $options =...
数组的排序
数组的排序
二维数组和多维数组
我们来举个例子,如果只用一维数组的话,保存一个一年内每周的温度。那么只能这样表示: 123let averageDayTemperature1 = [25,26,23,21,26,25,27];let averageDayTemperature2 = [28,25,27,29,24,31,26];let averageDayTemperature3 = [27,24,25,24,25,27,24]; 每一周都额外多声明一个变量来保存。然而这不是最好的方法,还可以做得更好。我们可以使用矩阵(二维数组,或数组的数组)来存储这些信息。矩阵的行保存每天的数组,列对应第x周的数据 1234let averageDayTemperature = [];averageDayTemperature[0] = [25,26,23,21,26,25,27];averageDayTemperature[1] = [28,25,27,29,24,31,26];averageDayTemperature[2] =...