- 浏览: 46119 次
- 性别:
- 来自: 武汉
最新评论
文章列表
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深拷贝方式:
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')
}
})
}
...
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 ...
- 2017-07-13 08:48
- 浏览 1121
- 评论(0)
一。如果想让处在一级的元素水平放置。可以通过设置 display:inline-block 这个样式或者是 display: inline 。
例如:想让<ul>下面的<li>水平放置,实现的效果如图:
这个就是通过对<li> 设置display:inline-block 效果形成的。如果设置成display: inline。只会是在一排但是垂直方向上面不一致。所以一般想水平放置元素最好使用display:inline-block 生成行内块来进行水平放置。
- 2017-07-12 18:38
- 浏览 675
- 评论(0)
一。css的定位。
CSS 有三种基本的定位机制:普通流、浮动和绝对定位。
普通流:就是一般的元素的位置。
浮动:就是通过 float 这个属性进行设置。
绝对定位: 主要就是 position 这个属性。
二。float 属性的说明。
float属性主要是 left / right / none /inherit 这四个值。分别代表:浮动到左边,浮动到右边,不浮动,继承父元素的浮动。
一般浮动后需要清除上面的浮动,这样才会不影响下面的元素。浮动的清除 clear 属性。
clear:both(清除左右浮动),left(清除左浮动),ri ...
- 2017-07-12 18:10
- 浏览 364
- 评论(0)
一。获取元素可以方便我们来计算元素怎么摆放的问题。
offset: 获取匹配元素在当前视口的相对偏移。也就是当前元素到页面顶部的距离。
position: 获取匹配元素相对父元素的偏移。
scrollTop: 获取匹配元素相对滚动条顶部的偏移。
scrollLeft: 获取匹配元素相对滚动条左侧的偏移。
window.pageXOffset:表示浏览器X轴(水平)滚动条的偏移距离。(兼容:ie9/10、chrome、firefox)
window.pageYOffset: 表示浏览器Y轴(垂直)滚动条的偏移距离。(兼容:ie9/10、chrome、f ...
- 2017-07-12 17:28
- 浏览 341
- 评论(0)
一。对于显示文本的时候,有时候由于文本太长没有必要全部显示的时候。例如:有一个宽度为280px大小的一个<p>,但是我们的文本长度却大于280px。我的处理方式有两种:
1.通过css 进行处理:
p{
width: 280px;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
text-overflow 规定当文本溢出时,所要做的事情。clip修剪文本。ellipsis显示省略符号来代表被修剪的文本。一般情况下都是使用 text-overflow 的 ell ...
- 2017-07-11 09:10
- 浏览 666
- 评论(0)
一。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){
所以函数执行完成或发生错误时的回调.
})
第一个参数是一个数组代表要 ...