js开发中常用小技巧
1、获取指定范围内的随机数
function getRadomNum(min,max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
2、随机获取数组中的元素
function getRadomFromArr(arr){
return arr[Math.floor(Math.random()*arr.length)];
}
3、生成从0到指定值的数字数组
function getArray(len) {
var arr = [],i = 1;
for (; arr.push(i++) < len;);
console.log(arr)
}
等同于:
function getArray(len) {
var arr = [],i = 1;
for (; i < len; i++) {
arr.push(i)
}
console.log(arr)
}
4、打乱数字数组的顺序
var arr = [1, 2, 3, 4, 5, 6, 7, 'a', 'dsfs', 8, 9, 'v'];
arr.sort(function() {
return Math.random() - 0.5
});
5、对象转换为数组
//注意对象必须是以下格式的才可以通过此方式转化为数组
//获取的DOM集合,以及函数的arguments也可以通过此方式转化为数组
var obj = {
0: 'qian',
1: 'long',
2: 'chu',
3: 'tian',
length: 4 }
var objArr = Array.prototype.slice.call(obj);
// var objArr = [].slice.call(obj);
// var objArr = Array.prototype.slice.apply(obj);
console.log(objArr)
6、验证是否为数组
function isArray(obj) {
return Object.prototype.toString.call(obj) === '[object Array]';
}
7、获取数组中最大或者最小值
function maxAndMin(arr){
return {
max:Math.max.apply(null,arr.join(',').split(',')),
min:Math.min.apply(null,arr.join(',').split(','))
}
}
8、清空数组
//方式一 通过将长度设置为0
var arr = [1, 2, 3, 4, 5];
arr.length = 0; //方式二 通过splice方法
var arr = [1, 2, 3, 4, 5];
arr.splice(0, arr.length); //方式三 通过将空数组 [] 赋值给数组(严格意义来说这只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。)
var arr = [1, 2, 3, 4, 5];
arr = [];
9、保留指定小数位
var num =4.345678;
num = num.toFixed(4); // 4.3457 第四位小数位以四舍五入计算
10、生成指定长度的随机字母数字字符串
// 生成指定长度的随机字母数字字符串
/*写法一
function getRandomStr(len) {
var str = "";
for (; str.length < len; str += Math.random().toString(36).substr(2));
return str.substr(0, len);
}
写法二
function getRandomStr(len) {
var str = "";
for (; str.length < len;) {
str += Math.random().toString(36).substr(2);
}
return str.substr(0, len);
}*/
/*写法三*/
function getRandomStr(len) {
for (var str = ''; str.length < len; str += Math.random().toString(36).substr(2));
return str.substr(0, len)
}
11、找出数组中出现次数最的元素,并给出其出现过的位置
function getMaxAndIndex(arr) {
var obj = {};
arr.forEach(function(item, index) {
if (!obj[item]) {
obj[item] = {
indexs: [index]
}
} else {
obj[item]['indexs'].push(index);
}
});
var num = 0; //记录出现次数最大值
var str = ''; //记录出现次数最多的字符
var reArr; //返回最大值的位置数组
for (var attr in obj) {
var temp = obj[attr]['indexs'];
if (temp.length > num) {
num = temp.length;
str = attr;
reArr = temp;
}
}
return {
maxStr: str,
indexs: reArr
}
}
js开发中常用小技巧的更多相关文章
- Android 开发中常用小技巧
TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是 用setTextSize() ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- 【js】中的小技巧
本文主要介绍一些JS中用到的小技巧 1. 类型强制转换 1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为 ...
- iOS开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- iOS - 开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- Android开发中的小技巧
转自:http://blog.csdn.net/guxiao1201/article/details/40655661 简单介绍: startActivities (Intent[] intents) ...
- JS开发中常用的小技巧
1.获取指定范围内的随机数 1 2 3 function getRadomNum(min,max){ return Math.floor(Math.random() * (max - min ...
- 分享几个asp.net开发中的小技巧
下面这几个,是在实际开发或阅读中发现的一些问题,有些甚至是有很多年开发人员写出的代码,也是很多人经常犯的错误.各位可以看看,你有没有躺着中枪. 第一个,对整型变量进行非null判断. // a 是in ...
- 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。
UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0 ...
随机推荐
- 【ubuntu】出现device not managed连接不上网络
ubuntu安装好后显示“device not managed” 1. 编辑/etc/NetworkManager/NetworkManager.conf: sudo gedit /etc/Netwo ...
- AFNetworking 3.0修改指南
AFNetworking是一款在OS X和iOS下都令人喜爱的网络库.为了迎合iOS新版本的升级, AFNetworking在3.0版本中删除了基于NSURLConnectionAPI的所有支持.如果 ...
- pdf word excel ppt 在线预览方案收集
https://www.idocv.com/docs.html http://www.cnblogs.com/wolf-sun/p/3569960.html http://coolwanglu.git ...
- JAVA ------ 大牛
李学凯 :http://blog.csdn.net/qq_27093465/article/details/51750535 码农场:http://www.hankcs.com/program/ 徐刘 ...
- 在CentOS上配置MySQL服务
#!/bin/sh # Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB # Thi ...
- 学习Geodatabase的总结
一.怎样择取自己需要的.有用的资料 1.开始找资料时,首先想到的是ESRI的帮助文档,因为它直接.规范而系统.通读一遍之后,大致了解了Geodatabase的各个方面.再从帮助文档体系结构中选出重要的 ...
- Implementation with Java
Implementation with Java From:http://jcsc.sourceforge.net In general, follow the Sun coding conventi ...
- ASP.NET MVC 音乐商店 - 4. 数据访问
上一次,我们使用了模拟的数据从控制器发送到视图模板.现在,我们开始使用真正的数据库,在这个教程中,我们将指导如何使用 SQL Server Compact 版的数据库,它经常被称为 SQL CE, 来 ...
- 【工作中学习1】两个设计模式:Singleton(单例)和 Adapter(适配器)
好久没有写自己的学习小博客,罪过罪过..最近本菜鸟在项目中接触到经常用到的设计模式,首先是Singleton(单例),这个相信大家都会用到很多,所以自己用代码实现一下,有助于自己学习理解,如有不对,请 ...
- Spring Boot:内置tomcat启动和外部tomcat部署总结
springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1.IDEA中main函数启动 2.mvn springboot-run 命令 3.java -jar XX ...