JS常见的一些简单题型

// 用户随机输入两个数,作为函数的两个形参,并求出两个数之间所有数的和

 

let readline = require("readline-sync");
console.log("请输入第一个数:");
let a = parseInt(readline.question(""));
console.log("请输入第二个数:");
let b = parseInt(readline.question(""));
function test(a,b){
    let temp;
    if(a>b){
        temp=a;
        a=b;
        b=temp;
    }
  let sum = 0;//用来求和
  for( let i = a;i <= b;i++){
      sum +=i;
  }
  return sum;
}
console.log("和为:",test(a,b));

 

// 用户定义数组的长度,然后手动输入一个数组,
// 针对这个数组求最大值和最小值,要求封装成一个函数
 
let readline = require("readline-sync");
console.log("请输入数组的长度:");
let lenght = parseInt(readline.question(""));
let arr = [];
let i,j;
for(i =0;i<lenght;i++){
    console.log(`请输入第${i+1}个数`);
    let num = parseInt(readline.question(""));
    arr[i] = num;
}
function test(now,func){
    let str = [];
    for(i =0;i<arr.length;i++){
        str[i] = arr[i]
    }
    console.log(str.sort(function(a,b){
        return a-b;//升序
    }));
    switch(func){
        case 1:
        return str[0]; //找最小值数组的下标为0,就是第一个元素
        break;
        case 2:
        return str[str.length-1];//找最大值数组的下标就是数组的长度-1,就是最后一位元素,
        break;
    }
}
console.log("该数组最小值为:",test(arr,1));
console.log("该数组最大值为:",test(arr,2));
console.log("该数组是:",arr);

 

// 对这个对象数组进行排序,首先按照年龄来排序,如果年龄相同,分数低的排在前面,
// 如果分数也相同,则学号低的排在前面
 
let i = [
    {id:1,name:'张三',age:20,score:87},
    {id:2,name:'李四',age:18,score:77},
    {id:3,name:'王五',age:23,score:65},
    {id:4,name:'赵六',age:25,score:87},
    {id:5,name:'田七',age:27,score:82},
    {id:6,name:'王八',age:21,score:74},
    {id:7,name:'小明',age:19,score:91},
    {id:8,name:'小红',age:28,score:92},
    {id:9,name:'小李',age:20,score:78},
    {id:10,name:'牛牛',age:18,score:87},
    {id:11,name:'妞妞',age:23,score:65},
    {id:12,name:'六九',age:20,score:82},
];

i.sort(function(a,b){
    if(a.age == b.age){
        if(a.score == b.score){
            return a.id - b.id;
        }
        else{
            return a.score - b.score;
        }
    }
    else{
        return a.age - b.age;
    }
});
console.log(i);

 

// 用户随机输入一段英文语句,求出有多少单词及单词数量
 
let readline = require("readline-sync");
console.log("请输入英文语句:");
let str = readline.question("");
console.log("你的单词个数为:",word(str));
function word(word){
    let arr = word.split(" ");
    console.log(arr);
    let n = 0;
    for(let i = 0;i<arr.length;i++){
        if(arr[i] != ""){
            n++;           
        }
    }
    return n;
}

 

// 用户输入一段英文,找出该段英文中 最长单词 是什么
 
let readline = require("readline-sync");
console.log("请输入英文语句:");
let str = readline.question("");
function longword(str){
    let arr =str.split(" ");
    let max = arr[0].length;
        for(let i = 1;i<arr.length;i++){
            if(arr[i].length > max){
                max = arr[i].length;
            }
        }
        let arr1 = [];
        for(let j =0;j<arr.length;j++){
            if(arr[j].length == max){
                arr1.push(arr[j]);
            }
        }
    return arr1;
}
console.log(longword(str));

 

// 钱币格式转换函数,
// 一串数字,转换为带有逗号分隔符的形式
// 例如:12345678 12,345,678 从后面开始每三位以一个逗号隔开
let num = "1234566789900987654432321";
function change(num){
    let str = "";
    for(let i = num.length-1;i>=0;i--){
        str +=num[num.length-1-i];
        if(i%3==0 && i !=0){
            str+=",";
        }
    }
    return str;
}
console.log(change(num));

 

posted @ 2019-07-05 15:10  沐子李  阅读(602)  评论(0编辑  收藏  举报