• js 多层菜单递归

    2020-03-13 浏览:312
    思路 首先遍历一遍data找到顶级菜单(pid=0)存入res中,然后遍历res,为每一项添加children属性,用每一项的id作为pid查找它的子元素,没有则退出并删除children,不断递归即可 function getTree(pid, arr, res) { for (let i = 0; i < arr.length; i++) { if (arr[i].pid == pid) { res.push(arr[i]) arr.splice(i, 1) i-- } } res.map(r => { ... 展开全文
  • 535. TinyURL 的加密与解密

    2019-10-18 浏览:594
    TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk. 要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需要保证一个URL可以被加密成一个TinyURL,并且这个TinyURL可以用解密方法恢复成原本的URL。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/p... 展开全文
  • 1185. 一周中的第几天

    2019-10-11 浏览:588
    给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。 输入为三个整数:day、month 和 year,分别表示日、月、年。 您返回的结果必须是这几个值中的一个 {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。 示例 1: 输入:day = 31, month = 8, year = 2019 输出:"Saturday" 示例 2: 输入:day = 18, month = 7, year = 1999 输出:"Sunday" 示例 3: 输入:day... 展开全文
  • 使用场景 session运行在服务器端,当客户端第一次访问服务器时,可以将客户的登陆信息保存。 可以保存一些客户的常用信息,当客户端再次获取常用信息时,不必再从数据库中进行查询。 在使用session时数据会直接存储在内存中,数据过大会造成溢出,所以session需要配合数据库使用,这里使用redis存储session数据 使用redis需要在服务器中安装redis node项目引入 npm install express-session --save npm install redis connec... 展开全文
  • 判断html标签是否正确闭合

    2019-09-18 浏览:684
    函数用途 用于检测输入的代码是否存在未闭合、错误嵌套等错误 实现原理 将输入html中标签分类两类:无内容元素和有内容元素 无内容元素: img、br、hr等 将此类标签检查后过滤 有内容元素: div、span、p等 遍历所有此类标签,判断该字符串是否正确闭合即可 举例: <div></div> //true <div></div //false <div> //false <div><div></div> //false 代码实现 function re(data) { ... 展开全文
  • 七牛文件上传的前后端部署

    2019-09-06 浏览:1017
    后端(Node.js) 后端的作用是为前端提供上传所需要的凭证 准备 注册七牛开发者帐号 登录七牛开发者后台,获取AccessKey 和 Secret Key 创建对象存储的存储空间 地址:https://portal.qiniu.com/user/key sdk安装 npm install qiniu --save token生成 let mac = new qiniu.auth.digest.Mac(accessKey, secretKey); let options = { scope: config.Bucket, expires: 7200, returnBody: '{"key":"$(key)","hash":"$... 展开全文
  • js的变量拼接

    2019-07-15 浏览:933
    使用 [] 拼接变量 result.article_title //等效 let a='article'; result[a + '_title'] 使用evel() let a1 = 123 let s = 1 console.log(eval('a' + s)) //123 展开全文
  • 数组

    2019-05-30 浏览:1197
    数组创建 使用Array 构造函数 //使用Array 构造函数,在使用Array 构造函数时也可以省略new 操作符 var colors = new Array(); var colors = Array(); //如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,而该数量会自动变成length属性的值。 var colors = new Array(20); 使用数组字面量表示法 数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开 var colors = ["red", "blue", "green"]; // ... 展开全文
  • es6中的剩余参数(…)

    2019-05-29 浏览:1059
    ES6提供了剩余参数,剩余参数将没有对应形参的参数聚合成一个数组: function f(a,...b) { console.log(a)//1 console.log(b)//[2,3] } f(1,2,3) 剩余参数为空时返回空数组 function g(...b) { console.log(b)//[] } g() tips: 参数有形参(parameter)和实参(argument) 形参就是函数声明时的变量,实参是我们调用该函数时传入的具体参数。 展开全文
  • js中插件的封装与调用

    2019-05-29 浏览:1143
    (function () { "use strict" let _global; function Add(data) { this.defaulData = { a: 0, b: 0, } this.data = Object.assign(this.defaulData, data) this.init() } Add.prototype = { init: function () { console.log(this.data) }, add: function (...a) { console.log(a) ... 展开全文
  • isNaN 与 Number.isNaN

    2019-05-24 浏览:1146
    isNaN 与 JavaScript 中其他的值不同,NaN不能通过相等操作符(== 和 ===)来判断 ,因为 NaN == NaN 和 NaN === NaN 都会返回 false。 因此,isNaN 就很有必要了。 isNaN() 函数用来确定一个值是否为NaN 。 如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。因此,对于能被强制转换为有效的非NaN数值来说(空字符串和布尔值分别会被强制转换为数值0和... 展开全文
  • js中的显式转换和隐式转换

    2019-05-24 浏览:1431
    JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。这也意味着你可以使用同一个变量保存不同类型的数据 显式转换 通过String(),Number(),Boolean(),parseInt(),parseFloat()函数强制转换 var str=123; var str1='123'; console.log(typeof str);//number console.log(typeof str1);//string console.log(typeof String(str));//string console.log(typeof Nu... 展开全文
  • js数据与类型与数据拷贝

    2019-05-24 浏览:1176
    数据类型 s的数据类型有种划分方式为 原始数据类型和 引用数据类型。 原始数据类型 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。栈区包括了 变量的标识符和变量的值。 引用数据类型 存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。放在栈空间中的值是该对象存储在堆中的地址。 基本类型 Undefined、Null、Boolean、Number、String、Symb... 展开全文
  • js页面loading动画的简单实现

    2018-02-28 浏览:5345
    loading动画结构 <div class="modal" id="modal"> <div class="loader"> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> ... 展开全文
  • 纯js实现文章导航目录

    2018-01-19 浏览:6531
    我们经常看到一些内容较多的文章都有一个目录导航,点击导航会跳转到响应的位置,页面滚动时相应位置的导航也会呈现选中状态非常的方便,这里使用js做一个简单的实现 实现思路 为文章中的标题标签h1、h2添加不同的id(举例只取h1、h2其他同理) 正则获取文章内容中的h1、h2标签 使用将获取到的标签转换成li、a标签,id转换为href属性 将转换后的标签插入需要显示目录的位置 编写监测页面滚动监听事件 编写描点点击事件 为文章... 展开全文