JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用 有非常多的方法来清空一个已经存在的数组,这种方法会返回删除的所有元素,并形一个新的数组,不过对性能没有影响,并将保持对数组的引用。
var arr = [1,2,3,4];
arr.splice(0, arr.length)
JavaScript使用类似break机制中断forEach循环 JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环:
[1,2,3].forEach(function(item) {
// if(!item) break; 不支持
});
JavaScript无引用复制一个Array数组的每一个元素到另一个数组 如果目标数组不存在,可使用 slice/ concat 复制
var destinationArray = sourceArray.slice();
var destinationArray = sourceArray.concat();
如果目标数组存在,且想保持引用,可使用 push
destinationArray.push.apply(destinationArray, sourceArray);
用jQuery将JavaScript对象转换为querystring查询字符串 在get方式的参数传递中,常常需要将JavaScript对象,转换成查询字符串,比如:
{ method: 'get', state: '200' }
会转换成
?method=get&state=200
用JavaScript往select元素中添加new option下拉选项 jQuery更简洁的写法:
$('#mySelect').append($("<option/>", {
value: key,
text: value
}));
bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程 目前有两个时间日期选择模块可以使用,bootstrap-datetimepicker 特点是可以选择日期和时间。
此项目依赖moment的翻译和日期格式化,所以可以加上 moment-with-locales.min.js 的引用:
$(selector).datetimepicker({
locale: 'zh-CN'
, format: "YYYY-MM-DD"
})
Redis只往zset有序集合添加不存在的数据:关键字索引查询构建+源码分析 Redis的有序集合Sorted Set(zset),可以很方便地用来构建关键字索引表,可以很方便地实现支持超大规模并发的关键字组合条件查询。
比如有套博客系统,博客文章存放在 hash 类型 article:* 中,其中的每个关键字对应的文章存放在 keyword:* 中,则可以用关键字连接查询 ZINTERSTORE 找到文章ID列表。
有时侯,我们可能在构建索引时不影响原有索引的权重值,以此来保留每个关键字最初添加时的时间(权重分数)。以此来统计某个时间段添加此关键字的文章。
redis5.x新特性,Stream流数据类型使用简单教程 在一般的编程概念里,流是一种主要用于优化内存的数据类型,它不需要一次性把大量数据,比如说大文件一次性读取到内存再处理,可以边读取边处理,这样可以用少量内存就可以处理大文件。
因此简单地说,流是Redis一种新的数据结构,不需要读取原有key的值,就可以在此key中添加新内容的数据类型。
css去掉table的td单元格的间距cellspacing,设置隔行显示不同背景颜色 单元隔间隔对应table标签上的 cellpadding 和 cellspacing,这里可以用CSS实现,cellpadding 对应 td 的 padding。 去除边框 cellspacing 的间隔有以下两种方法:
border-collapse: collapse
border-spacing: 0
用JavaScript实现basename获取路径中的文件名 Node.js中path对象有一个basename函数,可以获取路径中最后一段路径名称,通常是文件名,其实用javascript几行代码就可以实现
function basename(str) {
var idx = str.lastIndexOf('/')
idx = idx > -1 ? idx : str.lastIndexOf('\\')
if (idx < 0) {
return str
}
return str.substring(idx + 1);
}