標籤:
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開發中常用的小技巧