如何替换违禁词以及认识数字的方法

222 阅读1分钟

替换违禁词

var str = '66661234666612347771234777'

var arr = ['6666', '777']
// 1.for循环
for (var i = 0; i < arr.length; i++) {
    while (str.includes(arr[i])) {
        str = str.replace(arr[i], '****')
   }
}
console.log(str)

// 2.遍历数组
arr.forEach(function (item) {
    while (str.includes(item)) {
        str = str.replace(item, '****')
    }
})
console.log(str)

查询字符串

var str = 'name=wy;age=18;abc=123'
//将查询字符串转换为对象格式
obj === {
    username: 'wy',
    age: 18,
    abc: 123
}

分析:1. 拿到 字符串中 所有的 key   
     2. 拿到 字符串中 所有key 对应的 value
逻辑:1. 将字符串分隔为 key=value (分隔完应该有 3 个)
     2. 拿到每一个key 添加到对象中, 并且给值赋值为 对应的 value

var obj = {}
var arr = str.split(';')

arr.forEach(function (item) {
    var newArr = item.split('=')
    
    // var key = newArr[0]
    // var value = newArr[1]
    // obj[key] = value

    obj[newArr[0]] = newArr[1]
})
console.log(obj)

数字的方法

1. random
    语法: Math.random()
    作用: 得到一个0~1之间的随机数, 包含0,不包含1

    var num = Math.random()
    console.log(num)

2. round
    语法: Math.round()
    作用: 将数据 四舍五入取整

    var num1 = Math.round(1.5)
    console.log(num1)

3. ceil
    语法: Math.ceil()
    作用: 将数据 向上取整

    var num2 = Math.ceil(1.000000001)
    console.log(num2)

4. floor
    语法: Matn.floor()
    作用: 将数据 向下取整

    var num3 = Math.floor(1.9999999999)
    console.log(num3)

5. abs
    语法: Math.abs()
    作用: 取数据的绝对值

    var num4 = Math.abs(-10)
    console.log(num4)

6. sqrt
    语法: Math.sqrt()
    作用: 求平方根

    var num = Math.sqrt(15)
    console.log(num)

7. pow
    语法: Math.pow(基数, 幂)
    作用: 求一个基数的 X 次幂

    var num1 = Math.pow(4, 4)
    console.log(num1)

8. max
    语法: Math.max(数据1, 数据2, 数据3, ...)
    作用: 求参数中 的 最大值

    var num2 = Math.max(100, 50, 200, 600, 300, 150)
    console.log(num2)

9. min
    语法: Math.min(数据1, 数据2, 数据3, ...)
    作用: 求参数中 的 最小值

    var num3 = Math.min(100, 50, 200, 600, 300, 150)
    console.log(num3)
10. PI
    语法: Math.PI
    作用: 求圆周率

    var num4 = Math.PI
    console.log(num4)

两种定时器的介绍和作用 ( setTimeout / setInterval )

计时器 (setInterval)
    语法: setInterval(function(){每次执行定时器时要做的事}, 时间) 时间的单位是毫秒
    返回值: (时间ID) ---> 值取决于你当前的定时器是这个页面的第几个定时器, 返回值可以用于关闭定时器
    关闭定时器: clearInterval(时间ID)

    倒计时器 (setTimeout)
    语法 setTimeout(function () {倒计时时间满足时, 要执行的一段代码}, 时间) 时间的单位是毫秒
    返回值: (时间ID) ---> 值取决于你当前的定时器是这个页面的第几个定时器, 返回值可以用于关闭定时器
    关闭倒计时器: clearTimeout(时间ID)

    关闭定时器: clearIntervalclearTimeout
    正常来说 两个方法可以混用, 不会出错, 
    但是根据语义来说 clearTimeout 用于关闭 setTimeout; clearInterval 用于关闭 setInterval

简单的代码异步执行机制

简单了解异步代码
    JS 的运行 是单线程的(执行代码从第一行开始,往下执行, 上一行不结束, 不会运行下一行代码)

    但是万一上一行代码比较耗时(5S), 那么我下一行代码就需要等待5S

    但是JS也分为 异步任务(两个定时器)与同步任务

    JS 在运行的时候, 会按照从上到下的顺序执行代码, 但是会先把所有的同步任务先执行, 等所有的同步任务执行完毕, 在执行异步任务

console.log('start')                // 同步任务 1

setTimeout(function () {            // 异步任务 1

    console.log('timeout_start')        // y 同步任务 1

    setTimeout(function () {                // y 异步任务 1

        console.log('QF666')                    // X 同步 任务 1

    }, 0)
    console.log('timeout_end')          // y 同步任务 2

}, 0)
console.log('end')                  // 同步任务 2

//1. start
//2. end
//3. timeout_start
//4. timeout_end
//5. QF666