1、获取指定范畴内的随机数

function getRadomNum(min,max){    return  Math.floor(Math.random() * (max - min + 1)) + min;}

2、验证是否为数组

function isArray(obj) {    return Object.prototype.toString.call(obj) === '[object Array]';}

3、统计字符串中次数最多字母

function findMaxDuplicateChar(str) {  if(str.length == 1) {    return str;  }  var charObj = {};  for(var i = 0; i < str.length; i++) {    if(!charObj[str.charAt(i)]) {      charObj[str.charAt(i)] = 1;    } else {      charObj[str.charAt(i)] += 1;    }  }  var maxChar = '',      maxValue = 1;  for(var k in charObj) {    if(charObj[k] >= maxValue) {      maxChar = k;      maxValue = charObj[k];    }  }  return maxChar + ':' + maxValue;}

一、阶乘

非递归实现

function factorialize(num) {  var result = 1;    if(num < 0) return -1;    if(num == 0 || num == 1) return 1;    while(num>1) {      result *= num--;    }    return result;}

递归实现

function factorialize(num) {  var result = 1;  if(num < 0) return -1;  if(num == 0 || num == 1) return 1;  if(num > 1) return num*factorialize(num-1);}

一、简略一维数组的去重:

办法一:双层循环去重

function uniqueArr(arr) {    var result = [];    for (var i = 0; i < arr.length; i++) {        for (var j = i + 1; j < arr.length; j++) {            if (arr[i] === arr[j]) {                j = ++i;            }        }        result.push(arr[i]);    }    return result;}

办法二:利用对象的属性不能雷同去重

function uniqueArr(arr) {    var result = [];    var obj = {};    for (var i = 0; i < arr.length; i++) {        if (!obj[arr[i]]) {            obj[arr[i]] = 1;            result.push(arr[i]);        }    }    return result;}

办法三:利用下标

function uniqueArr(arr) {    var result = [arr[0]];    for (var i = 1; i < arr.length; i++) {        if (result.indexOf(arr[i]) == -1) {            result.push(arr[i]);        }    }    return result;}

办法四:ES6去重

function uniqueArr(arr) {    return Array.from(new Set(arr));}

二、蕴含对象的二维数组去重:

办法一:双重循环去除法

function uniqueArr(arr, key) {    var newArr = [];    for (var i = 0; i < arr.length; i++) {        var flag = true;        for (var j = 0; j < newArr.length; j++) {            if (arr[i][key] == newArr[j][key]) {                flag = false;            }        }        if (flag) newArr.push(arr[i]);    }    return newArr;}

办法二:利用reduce来实现

function uniqueArr(arr, key) {    var hash = {};    return arr.reduce(function(item, next) {        hash[next[key]] ? '' : hash[next[key]] = true && item.push(next);        return item    }, []);}