1、将字符串反转,例如输入‘i love china’,字符串反转'china love i'
var str='i love china';
var str1=str.split(' ').reverse().join(" ");
console.log(str1); //china love i
2、将1,2,3,4组成三位数 要求个位十位百位都不相同;
str=[1,2,3,4]
var a,b,c;
var count=0;
for(a=1;a<=4;a++){
for (b=1;b<=4;b++){
for(c=1;c<=4;c++){
if(a!=b&&b!=c&&c!=a){
console.log(a +''+ b + "" + c);
count++;
}
}
}
}
console.log(count);
3、封装函数实现10的阶乘 10=10*9*8*7*6*5*4*3*2*1=3628800;
function factorial (a) {
var str = `${a}!=`;
var sum = 1;
for (let i = a; i >= 1; i--) {
sum *= i;
if (i == 1) {
str += i + '=';
} else {
str += i + "*";
}
}
console.log(str + sum);
}
factorial(10);
4、 完美数 一个数本身等于他的因子之和 6=1+2+3, 输出1000以内完美数
for(var i=0; i<1000; i++){
var sum =0;
for(j=1;j<i;j++){
if(i % j == 0){
sum += j;
}
}
if(sum == i){
console.log(i);
}
}
5、给定一个数组arr=[2,5,7,11],target=9,要求实现数组中的任意元素相加之和等于target并输出下标
var arr = [2, 5, 7, 11];
var target = 9;
for (var i = 0; i <= 4; i++) {
for (var j = i + 1; j < 4; j++) {
if (arr[i] + arr[j] == target) {
// console.log('相加之和为' + target + '的数组下标为' + i + '和' + j)
arr2 = [i, j];
console.log(arr2);
}
}
}
6、实现100-1000以内水仙花数
for(var i=100;i<=1000;i++){
gw=i%10;
sw=parseInt(i/10)%10;
bw=parseInt(i/100)%10;
Math
if(i==Math.pow(gw,3)+Math.pow(sw,3)+Math.pow(bw,3)){
console.log(i);
}
}
7、 给定一个字符串,查找出字符串最长单词的长度 例如:var str='Grasp the present';返回最长单词的长度
var str='Grasp the present sss'
arr1 = str.split(' ');
var longtest = 0,longstr = '';
for(var i=0;i<arr1.length;i++){
if(arr1[i].length>longtest){
longtest=arr1[i].length;
longstr=arr1[i];
}
}
console.log(longtest+' '+longstr);