随机生成指定长度的字符串
function randomString(n) {
let str = 'abcdefghijklmnopqrstuvwxyz9876543210';
let temp = '',i=0,l=str.length;
for(i=0; i<n; i++) {
temp += str. charAt(Math.floor(Math.random() * l));
}
console.log(temp);
}
找出一个正数数组的最大差值
思路:要找出最大差值,无非就是找出最大值和最小值然和求差即可。
function getMaxProfit(arr) {
var minPrice = arr[0];
var maxProfit = 0;
for (var i = 0; i < arr.length; i++) {
var currentPrice = arr[i];
minPrice = Math.min(minPrice, currentPrice);
var potentialProfit = currentPrice - minPrice;
maxProfit = Math.max(maxProfit, potentialProfit);
}
return maxProfit;
}
不借助临时变量,进行两个整数的交换
let a = 1;
let b = 2;
function swap(a,b){
b = b - a;
a = b + a;
b = a - b;
}
swap(a,b);// 2 1
统计一个字符串中出现最多的字母
function findMaxDuplicationChar(str) {
if(str === '') {
console.log("str is empty");
} else if(str.length === 1) {
console.log(str);
} else {
let char = [];
for(let i=0; i<str.length; i++) {
if(!char[str.charAt(i)]) {
char[str.charAt(i)] = 1;
} else {
char[str.charAt(i)] += 1;
}
}
let maxChar = '';
maxValue = 1;
for(let j in char) {
if(char[j] >= maxValue) {
maxChar = j;
maxValue = char[j];
}
}
console.log(maxChar);
}
}
let str = 'aaabb';
findMaxDuplicationChar(str);//a
去掉一组整型数组重复的值
let arr = [1,13,24,11,11,14,1,2];
for(let i=0; i<arr.length; i++) {
for(let j=i+1; j<arr.length; j++) {
if(arr[i] === arr[j]) {
arr.splice(i,1);
}
continue;
}
}
console.log(arr);
// 输出结果为:[13, 24, 11, 14, 1, 2]
判断一个单词是否是回文?
function checkPalindrom(str) {
return str == str.split('').reverse().join('');
}