![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
pardon110
这个作者很懒,什么都没留下…
展开
-
不讲武德 移除链表元素[203]
迭代/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} head * @param {number} val * @return {ListN原创 2021-05-05 23:11:54 · 99 阅读 · 0 评论 -
golang快速排序详解
合理假设对于任意无序数组中的任意一个元素,如何确定它在排序后的索引位置?通常思路是先对无序数组排序,后遍历该有序数组,比较与给定的元素值,得到有序索引值。那么,是否存在一种不对无序数组排序,就可知其指定元素在排序后的索引位置?不排序求排序后位置有序的基础,是按照一定顺序有规律排序。假定是升序,那么排序必为如 a < b <c ,即,只要找到该值比其前面元素大,比后面的元素小,就可确定它在有序数组中的位置arr = [25, 84, 21, 46, 13, 27, 68, 35,原创 2020-07-15 17:09:33 · 653 阅读 · 0 评论 -
vue父子通信之三数定值求和
需求假定三数不大于n的整数v1,v2,v3,其和为n要求改变任意数值,其它两数会自适应调整,确保三数和仍为n调用规则 : 假定三数顺序固定索引为 0,1,2, 那么0数值增加了,则1数优先减少,不够则向2数借,即0->1->2->0->1->2…顺序假定初始值分别为 40, 30, 30 , 定值和100,实现页面改变输入改变任意数,其它二数按规则自动变更分析父组件维护初始的数据信息数组及定值被改变数值的组件向父组件发出事件时,携带当前改变的值,以及当前值所原创 2020-07-10 15:06:18 · 515 阅读 · 0 评论 -
地址树数据查找
链表式节点数据查找,与地址树数据算法伪树已知后端数据结构如下,要求只返回最里面的id=8,获得最里面那个节点,用name组织的节点路径root/北京市/西城区/xx居委会let root = [ id: 5, name: "root", children: [{ id: 6, name: "北京市", children: [{ id: 7, name: "西城区", .原创 2020-07-08 14:50:38 · 352 阅读 · 0 评论 -
树形结构数据条件过滤
将一个数据库条目过滤id为指定树需求自下向上的多条树形结构数据,反转合并成一条或多条自上向下树形结构已知多个数据的id,得出所有的上级,之后再反转原始数据 规则:每条数据的pid是唯一的arr = [{id:1,pid:0},{id:2,pid:1},{id:3,pid:2},{id:4,pid:3},{id:5,pid:3},{id:6,pid:2},{id:7,pid:1}]已知 id为3,7过滤,需要得到结果为3->2->1->07->1-.原创 2020-07-07 19:39:08 · 2401 阅读 · 0 评论 -
字符串数组构建树结构
需求源数据let srcList = ['动物-昆虫-蚂蚁', '动物-昆虫', '植物-草-绿色', '植物-花-红色','植物-花-黄色']去重分类构建树形数据如下[ { "name": "动物", "children": [ { "name": "昆虫", "children": [ { "name": "蚂蚁" } ] }原创 2020-07-06 10:49:06 · 922 阅读 · 0 评论 -
koa 图片上传详解
本文图片上传示例展示koa中间件框架基本流程,省去前端编码直接用 httpie 模拟文件上传测试KoaKoa 的中间件之间按照编码顺序在栈内依次执行(先进后出),允许您执行操作并向下传递请求(downstream),之后过滤并逆序返回响应(upstream)。前端人员可以将next() 之前的任意代码视为“捕获”阶段,下面这个 gif 说明了 async 函数如何恰当地利用堆栈流来实现请求...原创 2019-12-21 10:50:07 · 1992 阅读 · 0 评论 -
笔试之 模板变量替换
js中正则短小精悍,断言不匹配,匹配可捕获,捕获能引用,全局都来一次。问题已知含有n个变量的字符串,要求将变量替换为对应的值,如no=5,no=5,no=5,title=‘jack’<div> <p> {$no}</p> <p> {$title}</p> </div>思路定义正则查找$ 字符串变量构建变量键...原创 2019-12-07 22:11:40 · 403 阅读 · 0 评论 -
给一维数组中的连续数分组
程序不仅仅是存储数据,通常具备描述数据关系(数据结构),操作数据行为(算法)。本文演示一维数组通过reduce 方法转二维,达到符合需求改变数据关系的小程序。问题实现一个方法,将一维数组内的连续序列,变成该数组内的二维数组元素// 输入 [1,1,1,2,3,4,5,8,10,22,24,25,26,66]// 输出[1,1,[1,2,3,4,5],8,10,22,[24,25,...原创 2019-12-07 13:55:12 · 906 阅读 · 0 评论 -
拖拽传图 Iris + DropzoneJS
Iris官方其实很厚道,有很多有用的例子,而社区则是文档多于实战。源于官方示例库([英文源文])(https://github.com/kataras/iris/tree/master/_examples/tutorial/dropzonejs),本文采用 DropzoneJS and Go实现图片上传,后端裁剪,前端呈现,代码量少但胜在实用,适合新同学实战。涉及的点DropzoneJS...原创 2019-12-05 12:31:33 · 398 阅读 · 0 评论 -
一行代码解决求重问题
对需求的深刻认知,决定了解决问题的技巧高度问题例如:var a=[[1,2,3,5], [2,3,4], [2,3], [2,3,6,7]];输出:[2,3]例如:var a=[[0,1,2,3,5],[-1,1,4,5,6,7],[1,2,3,5,6]];输出:[1,5]常规一般人会考虑降维,去重,计数,过滤,如下所示var a = [[1, 2, 3, 5], [2, 3,...原创 2019-12-05 12:14:04 · 142 阅读 · 0 评论 -
ORM之Sequelize操作MySQL
Sequelize基于Promise的ORM用于操作MySQL,Postgres,SQLite,sqlserver等关系型数据库所有的结果集都是Promsie对象,不能直接读取结果连接数据库初始化时,会创建连接池,该池会创建和管理一个连接和缓冲技术定义模型sequelize.define('name', {attributes}, {options}) 定义表结构得到User...原创 2019-03-07 15:46:46 · 620 阅读 · 0 评论 -
nodejs web静态服务器
Notelet 块级作用域不存在变量提升整个局部作用域不能访问全局作用域中的变量let不允许在相同作用域内重复声明一个变量const 只允许声明常量,即具有不可变性箭头函数箭头后无大括号则表示要返回的值ES6中的class可以直接定义class构造函数constructorclass的方法可以省略掉function关键字使用类的方法用.访问Promi...原创 2019-03-07 15:36:06 · 538 阅读 · 0 评论 -
node不完全路径
工具及平台express默认不处理body中的信息,通常借助body-parser中间件,若用则在req.bodyreq.query http的url中的查询字符?a=b&c=d组成的对象req.send(body?) 返回一个响应对象,可选参数为响应体utility一些常用的工具函数,字符串,数组,加解密,日期,对象,json,web,函数,polyfill...原创 2019-03-10 18:17:48 · 134 阅读 · 0 评论 -
nodejs 正则
规则js正则与perl还是有一定的区别,只支持percl四种零宽断言的下面两种零宽正预测先行断言零宽负预测先行断言正则表达式后允许跟以下三个flagi 不区分大小写g 全局匹配,即匹配多个m ^和$可以匹配每一行的开头,多行匹配其它与m标志配合\A 字符串开头(类似^,但不受处理多行选项的影响)\Z 字符结尾或行尾(不受处理多行选项的影响)\z 字符串结尾...原创 2019-03-10 15:26:45 · 1765 阅读 · 0 评论 -
node 常用模块小札
node.js 基础全局对象js中全局对象是window,而Node.js中全局对象是global全局变量都是global对象的属性,可以直接访问全局变量在最外层定义的变量全局对象的属性隐式定义的变量(未定义直接赋值的变量)常用全局变量及函数__filename, __dirnamesetTimeout(cb,ms), clearTimeout(t)mod...原创 2019-03-09 15:19:03 · 127 阅读 · 0 评论 -
express 中间件开发
express中间件特点高阶函数,可以访问请求对象,响应对象,在web应用中处于请求–响应循环流程中的中间件,被命名为变量next若无终结,必须调用next()方法将控制权交给下一中间件,否则请求会被挂起功能修改请求和响应对象终结请求–响应循环体调用堆栈中的下一个中间件代码示例// main.jsvar express = require('express'...原创 2019-03-06 16:51:45 · 480 阅读 · 0 评论 -
求n的阶乘后有多少个0
需求n!后面有多少个06!=12345*6=720.720后面有1个0n=10000,求n!。解析因2足够多,简化为每个阶,多少个5的因子,每个记一次0顺序排序n个数,每轮除5,得到累计5的指数(5,25,125…)的个数,后累加js解法n=0 // 计数k=10000 // 初始值// 外层遍历阶数for(k;k&amp;amp;amp;amp;gt;=1;k--){ ...原创 2019-01-23 15:32:18 · 1047 阅读 · 0 评论 -
RegExp获取url参数
需求获取 url 中的参数指定参数名称,返回该参数的值 或者 空字符串不指定参数名称,返回全部的参数对象 或者 {}如果存在多个同名参数,则返回数组INhttp://www.nowcoder.com?key=1&key=2&key=3&test=4#heheOUT[1, 2, 3]解析注意indexOf,push方法的返回值用split,...原创 2019-01-28 20:05:55 · 674 阅读 · 1 评论 -
webpack实践指南(二)
代码分离达到的效果可以把代码分离到不同的bundle中,按需加载或并行加载,可控制资源加载优先级入口起点(entry points)使用entry配置手动地分离代码缺点不够灵活,并且不能将核心应用程序逻辑进行动态拆分代码如果入口 chunks 之间包含重复的模块,则模块会在bundle中被重复引用防止重复(prevent duplication)使用S...原创 2019-03-30 17:25:50 · 174 阅读 · 0 评论 -
按格式输出时间
题目描述按所给的时间格式输出指定的时间格式说明对于 2014.09.05 13:14:20yyyy: 年份,2014yy: 年份,14MM: 月份,补满两位,09M: 月份, 9dd: 日期,补满两位,05d: 日期, 5HH: 24制小时,补满两位,13H: 24制小时,13hh: 12制小时,补满两位,01h: 12制小时,1mm: 分钟,补满两位,14m: 分钟...原创 2019-01-28 12:05:23 · 1191 阅读 · 0 评论 -
js前瞻?!(零宽断言)@import波浪线
vue-router更新通常一个视图使用一个路由组件渲染,多个组件渲染一个视图确保使用components正则?!(js只支持前瞻[零宽断言])- *前瞻,后顾,负前瞻,负后顾*(前瞻,要查找的部分在表达式的前面)- `(?=X) X, via zero-width positive lookahead` - 正向前瞻 查找x表达式前面的部分 - exp1(?=exp2) 查找...原创 2019-03-19 17:16:30 · 310 阅读 · 0 评论 -
Laravel-Mix工作流
序言wabpack的确强大但过于复杂,不易使用laravel-mix是轻量级的webpack,使之八成用例变得简单易用laravel-mix重写了webpack的默认配置,使之应用简单,可以用在任何项目简介laravel-mix优点ES2017 + 模块编辑- 创建并且编译 .vue 组件 (通过 vue-loader)- 模块热替换- Tree-shaking 打包...原创 2019-03-17 19:09:22 · 934 阅读 · 0 评论 -
词法作用域 VS 动态作用域 VS 立即执行函数
词法作用域 JS 词法作用域是由你在写代码时将变量和块作用域写在哪里来决定。动态作用域 JS动态作用域和this机制息息相关。它的作用域诗是在运行的过程中确定var a = 1;function foo() { var a = 2; console.log( this.a );}foo(); // 1从上面的代码,我们可以看出:foo中打印a的值不是由写代码的位置...原创 2018-04-14 09:11:52 · 242 阅读 · 0 评论 -
正则分组(Grouping)与反向引用(back references)
捕获分组与反向引用字符含义(x)匹配 x 并且捕获匹配项,又称捕获括号(capturing parentheses)\nn 是一个反向引用(back reference),指向正则表达式中第 n 个括号(从左开始数)中匹配的子字符串(?:x)匹配 x 不会捕获匹配项,称为非捕获括号(non-capturing parentheses)数量词(Quant...翻译 2019-07-10 11:30:43 · 592 阅读 · 0 评论 -
vue实现目录的curd
引用PascalCase (首字母大写命名)组件,<my-component-name> 和 <MyComponentName> 都是可接受直接在 DOM (即非字符串的模板) 中使用时只有 kebab-case是有效的,比如 text/x-template场景下,只能用后者知识点class 样式对象写法,CSS伪元素 ::before 用法vue 指令v-...原创 2019-07-03 08:49:37 · 554 阅读 · 0 评论 -
数组处理之reduce结合对象按月分组
需求后端拉取数据格式如下,需要在前端按月分组显示、arr = [{ "amount": 5000, "goodsInfo": "翡翠城租金", "tradeTime": "2019-04-20"},{ "amount": 1200, "goodsInfo": "五联西苑租金", "tradeTime": "2019-04-25"},{...原创 2019-06-12 09:27:39 · 1003 阅读 · 0 评论 -
原生js多文件本地上传预览
引子<input> type 类型为 file 的 input 元素使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 Javascript 的 File API 对文件进行操作 。语法属性说明ValueDOMString 选择文件的路径事件change 事件 input支持的常用属性accept, multiple, r...翻译 2019-04-02 00:18:43 · 1116 阅读 · 0 评论 -
Failed to resolve async component default: TypeError: __webpack_require__(...) is not a function
场景laravel5.7项目默认的laravel-mix编译异步路由,观察http异步组件加载成功,路由配置正确前端没有显示报错3个警告app.js:42886 [vue-router] Failed to resolve async component default: TypeError: Cannot read property ‘call’ of undefined...原创 2019-04-10 12:14:25 · 34562 阅读 · 0 评论 -
回流reflow
浏览器渲染过程解析HTML生成DOM树。解析CSS生成CSSOM规则树。将DOM树与CSSOM规则树合并在一起生成渲染树。遍历渲染树开始布局,计算每个节点的位置大小信息。将渲染树每个节点绘制到屏幕。当浏览器遇到一个 script 标记时,DOM 构建将暂停,直至脚本完成执行,然后继续构建DOMreflow(回流)为了重新渲染部分或全部的文档而重新计算文档中元素的位置和几何...原创 2019-04-04 10:11:30 · 305 阅读 · 0 评论 -
webpack概述
概念组成基础:入点entry,出口output及模式mode附加: 规则module.rules,插件plugins五部分构成规则由test及loader构成,组loader以栈(先进后出)的形式进行管道流水模式development|production只设置 NODE_ENV,则不会自动设置 mode不同的取值,会设置process.env.NODE_ENV环境变量,从...原创 2019-03-29 14:28:04 · 95 阅读 · 0 评论 -
laravel-mix API简录
Laravel-Mix概述属于webpack上层,使之八成用例变得易用编绘sass, 捆绑模块到指定模块跨平台 cross-env,laravel-mix可独立成派勿需强制与laravel一起生产环境文件自动压缩 export NODE_ENV=production webpack安装mix安装 npm init -y npm install larave...原创 2019-03-17 19:13:02 · 554 阅读 · 0 评论 -
打印二维数组
需求给定行数和列数,写3个函数分别输出如下的二维数组(假设给的行数是5,列数是4):1 2 3 45 6 7 8 9 10 11 1213 14 15 1617 18 19 20 1 6 11 162 7 12 173 8 13 184 9 14 195 10 15 201 10 11 20 2 9 12 193 8 13 184 7 14 175 6 15 1...原创 2019-01-22 16:52:07 · 528 阅读 · 0 评论 -
js事件循环机制
概念js单线程,允许创建多线程,子线程完全受主线程控制,且不得操作DOMjs主线程拥有一个执行栈及任务一个任务队列异步操作 -&gt; 回调函数推入任务队列 -&gt; 主线程执行栈清空读取回调 -&gt; 队列读取完毕 -&gt; 主线程执行浏览器事件表 -&gt; 事件队列 -&gt; 执行栈(类似函数的调用栈)异步方法操作DOM,浏览器会在每一个任务执行结束后渲染窗口每一个ta.转载 2018-11-14 11:44:40 · 150 阅读 · 0 评论 -
let解决for循环中的闭包
场景闭包产生内部函数依赖了外部作用域变量,即内部持有外部引用不释放变量的本质其实就是一个占位符,其值才是真正操作对象值可以是各语言的标量,也可以是内存地址(即通俗的引用类型)var VS letlet 块级用域(ES5之前的js不存在块级作用域)在一个块级作用域内,let 声明 的变量只会在该区域内存续var 不存在块的问题与for的关系var 初始变量在...原创 2018-11-07 21:44:44 · 2024 阅读 · 0 评论 -
npm 依赖包管理
前言在一个Node.js项目中,package.json几乎是一个必须的文件,它的主要作用就是管理项目中所使用到的外部依赖包,同时它也是npm命令的入口文件。下面话不多说了,来一起看看详细的介绍把。npm 目前支持以下几类依赖包管理:dependenciesdevDependenciespeerDependenciesoptionalDependenciesbundledDependencies ...转载 2018-05-25 11:51:52 · 4254 阅读 · 0 评论 -
Module parse failed: Unexpected token (2:0) You may need an appropriate loader to handle this file
最近laravel5.5项目时,发现 npm run watch 后报如下错误Module parse failed: Unexpected token (2:0) You may need an appropriate loader to handle this file字面意思;loader 加载器出了问题,导致模块加载失败。进而关注webpack相应的loader报错信息,发现一切...原创 2018-05-25 11:45:18 · 68547 阅读 · 6 评论 -
node 版本控制 package.json
我们使用node开发时,经常需要依赖一些模块,我们进行了下载之后,便一直在该版本的模块环境下进行开发,但是线上的服务器一般都是根据依赖来配置文件,重新下载各个模块,但是保不齐某个模块的版本已经更新了,这时线上的包会更新到最新的版本,但你的代码还是依据老版本来写的,这时可能会产生一些不知名的Bug,首先看npm包的版本号的格式X.Y.Z,版本好的格式遵循semver 2.0规范,其中X为主版本号,只...原创 2018-05-25 10:29:49 · 1774 阅读 · 0 评论 -
npm 常用命令简介
1.安装命令 //全局安装 npm install 模块名 -g //本地安装 npm install 模块名 //一次性安装多个 npm install 模块1 模块2 模块3 //安装开发时依赖包 npm install 模块名 --save-dev //安装运行时依赖包 npm install 模块名 --save2. 查看安装目录 //查看项目中模块所在的目录 npm...转载 2018-05-25 10:27:33 · 2131 阅读 · 0 评论 -
Js原型链继承
关键 :1.构造函数2.原型复制 借助空函数 new操作function Child(props) { Parent.call(this, props); this.grade = props.grade || 1;}function inherits(Child, Parent) { var F = function () {}; F.prototype ...原创 2018-05-18 11:29:34 · 94 阅读 · 0 评论