.charCodeAt() 通过索引获取字符的ASCII码值

判断字符是 数字,大写字母,小写字母,符号 中的哪一种

1
2
3
4
5
6
7
8
9
10
11
var content = prompt('请输入一个字符');
var code = content.charCodeAt(0);
if(code >= 48 && code <= 57){
document.write('这是一个数字');
}else if(code >= 65 && code <= 90){
document.write('这是一个大写字母。');
}else if(code >= 97 && code <= 122){
document.write('这是一个小写字母。');
}else{
document.write('这是一个符号');
}

统计字符串中的数字,大写字母,小写字母,符号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var str = prompt('请输入一个字符串');
var num=0,upper=0,lower=0,special=0;
for(i=0;i<str.length;i++){
code = str.charCodeAt(i);
if(code >= 48 && code <= 57){
num++;
}else if(code >= 65 && code <= 90){
upper++;
}else if(code >= 97 && code <= 122){
lower++;
}else{
special++;
}
}
console.log('数字'+num+'个,大写字母'+upper+'个,小写字母'+lower+'个,符号'+special+'个。');

Math.pow(x,y) 返回x的y次幂

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身

求 100-999 的水仙花数

1
2
3
4
5
6
7
8
9
var hundreds,tens,units;
for(num = 100;num<1000;num++){
hundreds = Math.floor(num/100);
tens = Math.floor(num%100/10);
units = num%10;
if(num == Math.pow(hundreds,3)+Math.pow(tens,3)+Math.pow(units,3)){
console.log('这是一个水仙花数'+num);
}
}

.indexOf() 获取元素在数组的第一个索引,无则为-1(全等)

数组去重

1
2
3
4
5
6
7
8
var arr = ['a','a','b','b','c','c','x','d','d','e','a','b','x'];
var newArr=[];
for(i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i]);
}
}
console.log(newArr);

查重统计

1
2
3
4
5
6
7
8
9
10
11
12
var arr = ["c","a","z","a","x","a"];
var obj={};
for(i=0;i<arr.length;i++){
if(obj[arr[i]]){
obj[arr[i]]++;
}else{
obj[arr[i]]=1;
}
}
for(var k in obj){
console.log(k+':'+obj[k]+'次');
}

并输出次数最多的

1
2
3
4
5
6
7
8
9
var max = 0;
var maxkey = '';
for(var k in obj){
if(max < obj[k]){
max = obj[k];
maxkey = k;
}
}
console.log(maxkey,max+'次');