• 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
    	}
    }
  • 相关阅读:
    基础C语言知识串串香7☞位操作
    史上z..zui难回答的26个问题(1)
    基础C语言知识串串香6☞内存大话题
    基础C语言知识串串香5☞如何避免回绕和溢出
    基础C语言知识串串香4☞注意隐形提升带来的C陷阱
    基础C语言知识串串香3☞size_t类型
    基础C语言知识串串香1☞基本数据类型
    基础C语言知识串串香2☞char类型变量种种
    Linux
    Ubunt_配置_网易的源
  • 原文地址:https://www.cnblogs.com/jone-chen/p/5897829.html
Copyright © 2020-2023  润新知