替换空格- JS算法题


替换空格

题目:

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例:

输入:s = "We are happy."
输出:"We%20are%20happy."

解法一: 利用了JS中的replaceAPI

var replaceSpace = function(s) {
    let result = s.replace(/ /ig,'%20')
    return result
}

输出结果1

解法二:将s字符串切割转换成数组,然后遍历整个数组,判断每一项中trim()方法之后的是否是true

var replaceSpace = function (s) {
    let m = s.split('')
    for (let i = 0; i < m.length; i++) {
        let item = m[i].trim()
        if (!item) {
            m[i] = '%20'
        }
    }
    m = m.join('')
    return m
}

输出结果2

解法三:利用了JS中的replaceAllAPI

var replaceSpace = function (s) {
    let result = s.replaceAll(' ','%20')
    return result
}

输出结果3

解法四:利用了JS中的charAtAPI

var replaceSpace = function (s) {
    let result = ''
    for (let i = 0; i < s.length; i++) {
        if (s.charAt(i) === ' ') {
            result += s[i].concat('%20').trim()
        } else {
            result += s[i]
        }
    }
    return result
}

输出结果4