函数

93 阅读1分钟

写一个函数实现检测是否是回文

        let str = 'abcdcba';

        const plalindrome = function (str) {

            let arr = str.split('')
            let midIndex = Math.floor(arr.length / 2);
            let left = arr.slice(0, midIndex);
            let right = arr.slice(-midIndex).reverse()
           

            // let result =  left.every((value,index)=> value === right[index]);
            let result = left.join('') === right.join('')
            
            console.log(result, 'return')
            return result;
        }
        plalindrome(str)

判断一个数是否是质数

        //质数:一个大于1的自然数,且只能被 1和自己整除

        const isPrime = (number) => {
            if (number <= 1) return false
            
            for (i = 2; i <= number - 1; i++) {
                if (!(number % i)) {
                    return false
                }
            }
            return true;
        }

        const isPrime2 = (num) => {
            if (num <= 1) return false

            let sqrtNum = parseInt(Math.sqrt(num));

            for (i = 2; i <= sqrtNum; i++) {
                if (num % i === 0) return false
            }
            return true;

        }
        
        //求1-100以内的素数
        
        const LessThanOneHundred = (num1, num2) => {

            let primeList = [], i = num1;

            while (i <= num2) {
                prime2(i) ? primeList.push(i) : null
                i++;
            }

            return primeList;
        }
        //[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

        console.log(LessThanOneHundred(1, 100), 'LessThanOneHundred')

输入两个数,输出两个数中间的值

       const midNum = (num1, num2) => {

            let q = Math.random() * (num1 - num2)

            return num1 - q;

        }

        console.log(midNum(-1, 0), 'randNum')

求 1 ... 100 的和

        const sum = (start, end) => {
            return (start + end) * (end - start + 1) / 2
        }
        
        console.log(sum(1, 100), 'sum')

        const sum2 = (start, end) => {
            let sum = 0, i = start;
            while (i <= end) {
                sum += i;
                i++;
            }
            return sum;
        }
        console.log(sum2(1, 5), 'sum2')