JS開發中常用的小技巧

來源:互聯網
上載者:User

標籤:

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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.