標籤:call var 格式 from asc pre dmi 隨機 回收
來自:http://www.cnblogs.com/jone-chen/p/5897829.html
1、擷取指定範圍內的隨機數123function getRadomNum(min,max){ return Math.floor(Math.random() * (max - min + 1)) + min;}2、隨機擷取數組中的元素1234function getRadomFromArr(arr){ return arr[Math.floor(Math.random()*arr.length)];} 3、產生從0到指定值的數字數組 12345function getArray(len) { var arr = [],i = 1; for (; arr.push(i++) < len;); console.log(arr)}等同於:1234567function getArray(len) { var arr = [],i = 1; for (; i < len; i++) { arr.push(i) } console.log(arr)}4、打亂數字數組的順序1234var arr = [1, 2, 3, 4, 5, 6, 7, ‘a‘, ‘dsfs‘, 8, 9, ‘v‘];arr.sort(function() { return Math.random() - 0.5});5、對象轉換為數組1234567891011121314//注意對象必須是以下格式的才可以通過此方式轉化為數組//擷取的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、驗證是否為數組123function isArray(obj) { return Object.prototype.toString.call(obj) === ‘[object Array]‘;}7、擷取數組中最大或者最小值 123456function maxAndMin(arr){ return { max:Math.max.apply(null,arr.join(‘,‘).split(‘,‘)), min:Math.min.apply(null,arr.join(‘,‘).split(‘,‘)) }}8、清空數組1234567891011//方式一 通過將長度設定為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、保留指定小數位12var num =4.345678;num = num.toFixed(4); // 4.3457 第四位小數位以四捨五入計算10、產生指定長度的隨機字母數字字串1234567891011121314151617181920// 產生指定長度的隨機字母數字字串/*寫法一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、找出數組中出現次數最的元素,並給出其出現過的位置123456789101112131415161718192021222324252627function 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開發中常用技巧