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 ...
随机推荐
- ICSharpCode.SharpZipLi 压缩、解压文件 附源码
http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, ...
- NLog学习笔记二:深入学习
配置文件 NLog所有的配置信息都可以写到一个单独的xml文件中,也可以在程序代码中进行配置. 配置文件位置 启动的时候,NLog会试图查找配置文件完成自动配置,查找的文件依次如下(找到配置信息则结束 ...
- Git提交代码到主分区
git 提交代码,本地新建一个my分支,不从本地master分支直接上传,而是先从本地my分支上提交至本地master分支,然后本地master提交至远程master分支 上.前提是远程只有一个mas ...
- 最小白的webpack+react环境搭建
本文也同步发表在我的公众号“我的天空” 从零开始,用最少的配置.最少的代码.最少的依赖来搭建一个最简单的webpack+react环境. 最近在玩webpack+react+移动端,那么第一步自然是搭 ...
- 1064. 计算斐波那契第n项 通项公式
题目描述 输入n,编写程序输出斐波那契数列的第n项.其中斐波那契数列f(n)的定义如下: f(1)=0,f(2)=1 f(n)=f(n-1)+f(n-2)(n>=2) 输入 一行 ...
- 关于修改test9ui布局的一些小笔记
今早,上IT修真园里,看到师兄大娃很负责任的将我任务里的项目的排版,3,6,7的列了出来. 谢谢师兄,那么负责任的照看师弟. 言归正传,我一开始,直接按照师兄的指示,选择性的优先修改底部.效果也达到了 ...
- iDempiere 使用指南 BOM及工单流程
Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...
- Android基础Activity篇——Intent向下一个活动传递数据
1.向下一个活动传递数据 String data ="bilibilbilbilbili"; Intent intent1=new Intent(this,secondActivi ...
- mysql-5.7安装配置指导
mysql 安装 yum 安装mysql 源码编译安装mysql 通过yum安装 下载yum仓库配置安装包 MySQL Yum Repository http://dev.mysql.com/down ...
- selenium server在页面加载超时浏览器与driver通信失败时的妙用
事实上,WebDriver有两种方式“驱动”浏览器的方式.1. Selenium Server:和Selenium RC一样的,通过指定远端服务器IP地址和端口号,由这个远端服务器来驱动浏览器.2. ...