`
文章列表
js去重的多种方法:   1、通过删除原数组里面重复的数,进行去重。知识:数组反循环,indexOf。   function removeRepeat(data) { for(let i = data.length - 1; i >= 0; i--){ if (data.indexOf(data[i]) !== i) { data.splice(i, 1) } } return data; } removeRepeat([1,2,3,4,2,3,1,4,6,3,1]) // [1, 2, 3, 4, 6]       ...

js 深拷贝

    博客分类:
  • js
一。js深拷贝方式:       1、递归实现。 function clone(data) { if (typeof data === 'object') { var newData = Array.isArray(data) ? [] : {}; for (var i in data) { newData[i] = clone(data[i]) } return newData; } else { return data; } ...
一。加法精度修改后如下: function add(...val) { let max = 0 let count = 0 for (let i = 0; i < val.length; i++) { const strVal = val[i].toString() const index = strVal.indexOf('.') let num = 0 if (index > -1) { num = strVal.length - 1 - i ...
  产生随机数进行测试 function randomNum(num) { const data = [] for (let i = 0; i < num; i++) { const val = Math.round(Math.random() * 100) data.push(val) } return data }    一。插值排序算法:从小到大排序 => 思想是通过当前值与前一个值进行比较判断数组 i - 1 的值是否大 ...

promise 讲解

    博客分类:
  • js
function add(num) { return new Promise((resolve, reject) => { console.log(num + ' + ' + num + ' = ' + (num + num)) if (num > 10) { setTimeout(resolve(num + num), 200) } else { setTimeout(reject, 200, 'error') } }) } ...

树形数据整合

    博客分类:
  • js
function getTreeS() { const time = new Date().getTime() treeS(treeData) const timeEnd = new Date().getTime() console.log((timeEnd - time) + 'ms') console.log(tree(treeData)) } 代码-   const treeData = [ { id: 1, pid: 0, path: '/1' ...
  一。根据标识符去掉空菜单。 // 根据菜单有‘/’页面没有‘/’的特点 function deleteEmptyMenu(data) { const newData = [] for (let i = 0; i < data.length; i++) { if (data[i].path.indexOf('/') === -1 || data[i].children.length > 0) { if (data[i].children && data[i].children.length > 0) { ...
一。实现轮播图最主要的就是定时器 (setInterval函数和clearInterval函数),他们分别是定时和清除定时。 二 。html代码如下: <div class="warp"> <div class="mod-tab"> <ul id="list"> <li class="tab-con" style="opacity: 1"> <span c ...
一。如果想让处在一级的元素水平放置。可以通过设置 display:inline-block 这个样式或者是 display: inline 。 例如:想让<ul>下面的<li>水平放置,实现的效果如图: 这个就是通过对<li> 设置display:inline-block 效果形成的。如果设置成display: inline。只会是在一排但是垂直方向上面不一致。所以一般想水平放置元素最好使用display:inline-block 生成行内块来进行水平放置。
一。css的定位。 CSS 有三种基本的定位机制:普通流、浮动和绝对定位。 普通流:就是一般的元素的位置。 浮动:就是通过 float 这个属性进行设置。 绝对定位: 主要就是 position 这个属性。 二。float 属性的说明。 float属性主要是 left / right / none /inherit 这四个值。分别代表:浮动到左边,浮动到右边,不浮动,继承父元素的浮动。 一般浮动后需要清除上面的浮动,这样才会不影响下面的元素。浮动的清除 clear 属性。 clear:both(清除左右浮动),left(清除左浮动),ri ...
一。获取元素可以方便我们来计算元素怎么摆放的问题。 offset: 获取匹配元素在当前视口的相对偏移。也就是当前元素到页面顶部的距离。 position: 获取匹配元素相对父元素的偏移。 scrollTop: 获取匹配元素相对滚动条顶部的偏移。 scrollLeft: 获取匹配元素相对滚动条左侧的偏移。 window.pageXOffset:表示浏览器X轴(水平)滚动条的偏移距离。(兼容:ie9/10、chrome、firefox) window.pageYOffset: 表示浏览器Y轴(垂直)滚动条的偏移距离。(兼容:ie9/10、chrome、f ...
一。对于显示文本的时候,有时候由于文本太长没有必要全部显示的时候。例如:有一个宽度为280px大小的一个<p>,但是我们的文本长度却大于280px。我的处理方式有两种: 1.通过css 进行处理: p{ width: 280px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } text-overflow 规定当文本溢出时,所要做的事情。clip修剪文本。ellipsis显示省略符号来代表被修剪的文本。一般情况下都是使用 text-overflow 的 ell ...

将博客搬至CSDN

    博客分类:
  • js
将博客搬至CSDN
一。node环境的安装,参考链接:http://975156298.iteye.com/blog/2314388   二。mongodb数据库的安装,参考链接:http://www.runoob.com/mongodb/mongodb-linux-install.html   三。express框架的安装。 $ npm install -g express-generator         这样就可以使用express 直接创建一个node项目模板。 $ express -e blog $ cd blog && npm install      上面的代 ...
一.本人推荐的是类库: async 点击跳转到官方文档.   二.实现同步的方法: async.series 该方法可以实现多个函数同步执行.例如: async.series([ function(callback){ 函数一 }, function(callback) { 函数二 } ], function(err,results){ 所以函数执行完成或发生错误时的回调. })   第一个参数是一个数组代表要 ...
Global site tag (gtag.js) - Google Analytics