首页 > 代码库 > JS开发中常用的小技巧
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、清空数组
//方式一 通过将长度设置为0var 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开发中常用的小技巧
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。