1:检测100以内的素数
function sushu(num){
for(var i=2;i<=num;i++){
//当前的数,是不是素数
var isactive=false;
for(var k=2;k<i;k++){
if(i%k==0){
isactive=true;
}
}
if(! isactive){
console.log(i);
}
}
}
sushu(100);
2:将1000000.11转换为rmb的形式
var n=1000000.11;
function rmb(price){
//考虑小数点之前的都能拿到
price=price.toString();
var xiaoshu=price.split(".")[1];
if(xiaoshu==undefined){
xiaoshu="";
}
else{
xiaoshu="."+xiaoshu;
}
var intnum=price.split(".")[0].split("").reverse().join("");
console.log(intnum);
//遍历位数
var str="";
var snum=intnum.length%3;
for(var i=1;i<intnum.length;i++){
if(i%3==0&&i!=intnum.length){
str+=intnum.substring(i-3,i)+",";
}
if(i%3==0&&i==intnum.length){
str+=intnum.substring(i-3,i);
}
}
if(snum){
str+=intnum.substr(intnum.length-snum,snum);//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符
//stringObject.substr(start,length);
}
console.log(str.split("").reverse().join("")+xiaoshu);
}
rmb(n);
3:字符串反转
var str="I love my son";
console.log(str.split(" ").reverse().join(" ").split("").reverse().join(""));
//split()为将字符串分割为数组
//reverse为数组之内的方法,用于反转数组
4:将字符串转化为驼峰规则
var str="xiaoshuo-ss-sfff-fe";
function f1(s){
var st= s.split("-");
var arr=st.map(function(val,index){
return val.charAt(0).toUpperCase()+val.slice(1,val.length);
});
arr.join("-");
console.log(arr);
}
f1(str);
5:数组去重
var arr=[1,2,3,1,2,3,3,5,6];
function f2(num){
//常规操作
var array=[];
for(var i=0;i<num.length;i++){
if(array.indexOf(num[i]==-1){
array.push(num[i]);
}
}
console.log(array);
}
f2(arr);
6:字符串去重
var str="aaabbbbbbbaacc";
function f4(num){
var array=num.split("");
var old=0;
var arr=[];
for(var i=0;i<array.length;i++){
var count=1;
for(var k=i+1;k<array.length;k++){
if(array[i]==array[k]){
//删除相等的
array.splice(k,1);
count++;
k--;
}
}
arr.push([array[i],count]);
}
//找出最大值
var max=0;//个数
var str="";//字母
arr.map(function(v,index){
if(v[1]>max){
max=v[1];
str=v[0];
}
});
console.log(str,max);
}
f4(str);
7:检测数组的类型方法
console.log(Array.isArray(a));
8:将二维数组转化为一维数组
var arr=[[9,12],[1,2],1,2,3,[8,9]];
function f5(num){
var a=[];
if(!num instanceof Array){
return;
}
for(var i=0;i<num.length;i++){
if(num[i] instanceof Array){
f5(num[i]);
} else{
a.push(num[i]);
}
}
console.log(a);
}
f5(arr);
9:报数游戏(约瑟夫环问题):
编号1-100的一百个人围成一圈,以123123的方式进行报数,报至3时进行出圈。
function yuesefu(n,k,i){
if(i==1){
return(n+k-1)%n;
}
else{
return(yuesefu(n-1,k,i-1)+k)%n;
}
}
for(var i=1;i<=100;i++){
console.log("第"+i+"次出环,下标为:"+yuesefu(100,3,i));
}
来源:CSDN
作者:爱学习的小发发
链接:https://blog.csdn.net/qq_42455145/article/details/103914558