js常见案例【基础】

3 篇文章 0 订阅
2 篇文章 0 订阅

目录

一、9x9乘法表

二、获取指定范围的水仙花数

三、找出1~100之间的质数

四、封装一个获取指定元素样式的函数

五、封装函数,实现数组中重复数据的剔重功能

方法一:

方法二:拿当前项 和 后面所有项 进行比较,如果相同,就把后面的重复项删除掉

六、字符串翻转函数

方法一:利用循环遍历

方法二:利用字符串的split()方法 和  数组的join()方法



一、9x9乘法表

var str=''
for (var i = 1; i <= 9; i++) {
    for (var j = 1; j <= i; j++) {
        str += i + '*' + j + '='+i * j+'\t'
            if(i===j){
                str+='\n'
            }
    }
    console.log()
}
console.log(str)                               

二、获取指定范围的水仙花数

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153

注意思路

// 判断一个数字是否水仙花数的函数
function narcissistic(nb) {
    var b = parseInt(nb / 100)
    var s = parseInt(nb % 100 / 10)
    var g = parseInt(nb % 10)

    if(nb === Math.pow(g,3) + Math.pow(s,3)+ Math.pow(b,3)) {
        console.log(“水仙花数:”, nb)
        return true
}
    return false
}

// 封装获取指定范围的水仙花数函数
function getNarc(start, end) {
    for(var i = start; i <= end; i++) {
        narcissistic(i)
    }
}
getNarc(111, 999)

三、找出1~100之间的质数

质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数

//判断一个数是否是质数
function prime(nb) {
    for (var i = 2; i <= Math.sqrt(nb); i++) {
        if (nb % i === 0) {
            return false
         }
    }
    console.log('质数:', nb)
    return true
}
// 获取指定范围的质数
function getPrime(start, end) {
    for (var i = start; i <= end; i++) {
        prime(i)
    }
}
getPrime(1, 100)

四、封装一个获取指定元素样式的函数

//获取指定元素样式的函数
function getStyle(ele, styleName) {
    if(ele.currentStyle){
        return ele.currentStyle[styleName]
    } else {
    return getComputedStyle(ele)[styleName]
    }
}

五、封装函数,实现数组中重复数据的剔重功能

方法一:

// 原始数组
var arr = [1, 1, 5, 4, 4, 9]
// 数组剔重函数
function tc(arr) {
    //声明一个新数组,用于存放不重复的数据
    var newArr = []
    for (var i = 0; i < arr.length; i++) {
        //如果数组项arr[i]在新数组中不存在,则添加到新数组
        //if(!newArr.includes(arr[i])){
        if (newArr.indexOf(arr[i]) < 0) {
            // 数据在新数组中不存在,添加
            newArr.push(arr[i])
        }
    return newArr
}

// 调用函数执行剔除重复数据的操作
var nArr = tc(arr)
console.log(arr, nArr)

方法二:拿当前项 和 后面所有项 进行比较,如果相同,就把后面的重复项删除掉

// 原始数组
var arr = [1, 1, 5, 4, 4, 9, 4]
//声明一个数组去重函数
function delRepeat(arr) {
    for (var i = 0; i < arr.length - 1; i++) {//外层循环,只需要比较arr.length-1趟
        for (var j = i + 1; j < arr.length; j++) {
            //判断第i项和滴j项是都相同,相同则删除第j项    
            if (arr[i] === arr[j]) {
                arr.splice(j, 1)
                //删除第j项后,后面的数组项会自动往前移,
                //此时若有几个类型重复的数组项,就不能去重了
                //使用j--进行补位
                j--
            }
        }
    }
    return arr
}
console.log(delRepeat(arr))

六、字符串翻转函数

方法一:利用循环遍历

方法二:利用字符串的split()方法 和  数组的join()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值