1字符串最后一个单词的长度
2计算某字符在字符串出现的次数
3明明的随机数
4字符串分隔
5进制转换
6质数因子
7取近似值
8合并表记录
9字符个数统计
10提取不重复的整数
字符串最后一个单词的长度
var str=readline();
var strArr=str.split(' ');
var endLen=strArr[strArr.length-1].length;
console.log(endLen);
计算某字符在字符串出现的次数
var str=readline();
var sl=readline();
var targetstr = str.toLowerCase();
var ss = sl.toLowerCase();
var count = 0;
var i = 0;
while (targetstr.indexOf(ss, i) != -1) {
count++;
i = targetstr.indexOf(ss, i) + 1;
}
console.log(count);
明明的随机数
var N=readline();
var number=[];
var numlength=0;
var count=0;
while(N){
if(!numlength){
numlength=N;
}
else{
count++;
number.push(N);
if(count==numlength){
var a=uniqAndsort(number);
a.forEach(function(value){
console.log(value);
});
number=[];
numlength=0;
count=0;
}
}
N=readline()
}
function uniqAndsort(array) {
var temp = []; //一个新的临时数组
//1为数组去重
array.forEach(function(value, index) {
if (temp.indexOf(value) == -1) {
temp.push(value);
}
});
//2为数组排序
temp.sort(function(a, b) {
return a - b;
});
return temp;
}
字符串分隔
var arr = [];
var str=readline();
while(str){
arr.push(str);
str=readline();
}
for(let j = 0; j < arr.length;j++) {
if(arr[j].length <= 8) {
var res = arr[j] + '00000000';
console.log(res.slice(0,8));
} else { //超过的可能会生成多行
for(let m = 0; m < arr[j].length; m+=8){
let resSlice = arr[j].slice(m,m+8);
if (resSlice.length < 8) {
let res = resSlice+'00000000';
console.log(res.slice(0,8)); //多余的零不会输出
} else {
console.log(resSlice);
}
}
}
}
进制转换
var arr=[];
var str=readline();
while(str){
arr.push(str);
str=readline();
}
var num = 0;
var result = 0;
for (var i = 0; i < arr.length; i++) {
var temp = arr[i].slice(2);
// console.log(temp);
for (var k = temp.length - 1, j = 0; k >= 0, j < temp.length; k--, j++) {
if (isNaN(temp.charAt(k))) {
switch (temp.charAt(k)) {
case 'A':
num = 10;
break;
case 'B':
num = 11;
break;
case 'C':
num = 12;
break;
case 'D':
num = 13;
break;
case 'E':
num = 14;
break;
case 'F':
num = 15;
break;
}
} else {
num = parseInt(temp.charAt(k));
}
result += num * (Math.pow(16, j));
}
console.log(result);
result = 0;
}
质数因子
待写
取近似值
var num=readline();
console.log(Math.round(num));
合并表记录
//读取第一行的个数
var num=parseInt(readline());
var obj={};
if(num>0){
//循环num次
for(let i=0;i<num;i++){
//读取键值
let str=readline();
//以空格分割为数组:arr[0],arr[1]
let arr=str.split(' ');
let value=parseInt(arr[1]);
if(!obj[arr[0]]){//对象中不存在属性arr[0]
obj[arr[0]]=value;
}else{//对象中存在属性arr[0]
obj[arr[0]]=parseInt(obj[arr[0]])+value;
}
}
}
//循环输出obj
for(var key in obj){
console.log(key+' '+obj[key]);
}
字符个数统计
var str=readline();
var count=0;
//借助数组
var arr=[];
//遍历字符串,如果字符不在数组中,则将字符加入数组
for(let i=0;i<str.length;i++){
if(!arr.includes(str[i])){
//arr.indexOf(str[i])==-1
arr.push(str[i]);
}
}
console.log(arr.length);
提取不重复的整数
var s=readline();
var arr = [];
var str = '';
//倒序遍历字符串,如果字符不在数组中,则将字符加入数组
for (let j = s.length - 1; j >= 0; j--) {
if (!arr.includes(s.charAt(j))) {
arr.push(s.charAt(j));
}
}
//遍历数组,将数组元素放入新串中
arr.forEach(function(value) {
str += value;
});
console.log(str);