共计 1717 个字符,预计需要花费 5 分钟才能阅读完成。
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
}, []);
}
正文完
发表至: javascript
2021-06-05