Flow Control

Exercise-01 Max Of Two Numbers

Write a function that takes two numbers and returns the maximum of the two

let number = max(2, 10);

console.log(number);

function max(number1, number2) {
    /*if (number1 > number2)
        return number1;
    else
        return number2;
        */
    return (number1 > number2) ? number1 : number2;
}

Exercise-02 Landscape or Portrait

console.log(isLandscape(800, 600));

function isLandscape(width, height){
    return (width > height);
}

Exercise-03 FizzBuzz

Divisible by 3 Fizz
Divisible by 5 Buzz
Divisible by both 3 and 5 FizzBuzz
Not Divisible 3 or 5 input
typeof NaN
Output "number"

const output = fizzBuzz(7);

console.log(output);

function fizzBuzz(input) {
    if (typeof input !== 'number')
        return NaN;
    if ((input % 3 === 0) && (input % 5 === 0))
        return 'FizzBuzz';
    if (input % 3 === 0)
        return 'Fizz';
    if (input % 5 === 0)
        return 'Buzz';
    return input;
}

Exercise-04 Demerit Points

Speed Limit = 70

checkSpeed(50);

function checkSpeed(speed) {
    const speedLimit = 70;
    const kmPerPoint = 5;
    
    if (speed < speedLimit + kmPerPoint) {
        console.log('OK');
        return ;
    }
    
    const points = Math.floor((speed - speedLimit) / kmPerPoint);
    
    if (points >= 12)
        console.log('License suspended');
    else
        console.log('Points ', points);
}

Exercise-05 Even and Odd numbers

showNumbers(10);

function showNumbers(limit) {
    for (let i = 0; i <= limit; i++) {
        /*if (i % 2 === 0) 
            console.log(i, 'EVEN');
        else
            console.log(i, 'ODD');*/
        
        const message = (i % 2 === 0) ? 'EVEN' : 'ODD';
        
        console.log(message);
    }
}

Exercise-06 Count Truthy

const array = [0, null, undefined, '', Nan, false, 2, 9];

console.log(countTruth(array));

function countTruthy(array) {
    let count = 0;
    
    for (let value of array) {
        if (value)
            count++;
    }
    return count;
}

Exercise-07 String Properties

const movie = {
    title: 'Mustang',
    releaseYear: 2020,
    rating: 4.5,
    director: 'Unity'    
};

showProperties(movie);

function showProperties(obj) {
    /*for (let key in obj)
        console.log(key);*/
    
    for (let key in obj) {
        if (typeof obj[key] === 'string')
            console.log(key, obj[key]);
    }
}

Exercise-08 Sum of Multiples of 3 and 5

Multiples of 3: 3, 6, 9
Multiples of 5: 5, 10
sum = 3+6+9+5+10 = 33

console.log(sum(10));

function sum(limit) {
    let sum = 0;
    
    for (let i = 0; i <= limit; i++) {
        if (i % 3 === 0 || i % 5 === 0)
            sum += i;
    }
    return sum;
}

Exercise-09 Grade

const marks = [80, 86, 99];

console.log(calculateGrade(marks));

function calculateGrade(marks) {
    const average = calculateAverage(marks);
    
    if (average < 60)
        return 'F';
    else if (average < 70)
        return 'D';
    else if (average < 80)
        return 'C';
    else if (average < 90)
        return 'B';
    return 'A';
}

function calculateAverage(array) {
    let sum = 0;
    for (let value of array) {
        sum += value;
    }
    
    return sum / array.length;
}

Exercise-10 Stars

ShowStars(6);

function showStars(rows) {
    for (let row = 1; row <= rows; row++) {
        let pattern = '';
        for (let i = 0; i < row; i++) {
            pattern += '*';
        }
        console.log(pattern);
    }
}

Exercise-11 Prime Numbers

Prime (whose factors are only 1 and itself)
Composite

/*
showPrimes(20);

function showPrimes(limit) {
    for (let number = 2; number <= limit; number++) {
        let isPrime = true;
        for (let factor = 2; factor < number; factor++) {
            if (number % factor === 0) {
                isPrime = false;
                break;
            }
        }
        if (isPrime)
            console.log(number);
    }
}
*/

showPrimes(20);

function showPrimes(limit) {
    for (let number = 2; number <= limit; number++) {
        if (isPrime(number))
            console.log(number);
    }
}

function isPrime(number) {
    for (let factor = 2; factor < number; factor++) {
        if (number % factor === 0)
            return false;
    }
    return true;
}
原文地址:https://www.cnblogs.com/PrimerPlus/p/12779184.html