Skip to content

打印引号''

使用反斜杠 \ 打印引号

js
console.log('obj[\'first\']')
console.log('obj[\'first\']')

字符串拼接

在URL后拼接参数

封装为方法(vue2)

js
export default {
    methods: {
        params(obj) {
            let result = ''
            for (let item in obj) {
                result += `&${item}=${obj[item]}`
            }
            if (result) {
                result = '?' + result.slice(1)
            }
            return result
        },
        test() {
            const obj = {
                name: '测试数据1',
                value: '测试数据2',
                msg: '',
                age: 18
            }
            const url = `/get/info/${this.params_2(obj)}`;
            console.log(url);
        },
    }
}
export default {
    methods: {
        params(obj) {
            let result = ''
            for (let item in obj) {
                result += `&${item}=${obj[item]}`
            }
            if (result) {
                result = '?' + result.slice(1)
            }
            return result
        },
        test() {
            const obj = {
                name: '测试数据1',
                value: '测试数据2',
                msg: '',
                age: 18
            }
            const url = `/get/info/${this.params_2(obj)}`;
            console.log(url);
        },
    }
}

封装为方法,过滤空值(vue2)

js
export default {
    methods: {
        params(obj) {
            let result = ''
            for (item in obj) {
                if (obj[item] && String(obj[item])) { // 过滤属性值为空的键值对
                    result += `&${item}=${obj[item]}`;
                }
            }
            if (result) {
                result = '?' + result.slice(1)
            }
            return result
        },
        test() {
            const obj = {
                name: '测试数据1',
                value: '测试数据2',
                msg: '',
                age: 18
            }
            const url = `/get/info/${this.params_2(obj)}`;
            console.log(url);
        },
    }
}
export default {
    methods: {
        params(obj) {
            let result = ''
            for (item in obj) {
                if (obj[item] && String(obj[item])) { // 过滤属性值为空的键值对
                    result += `&${item}=${obj[item]}`;
                }
            }
            if (result) {
                result = '?' + result.slice(1)
            }
            return result
        },
        test() {
            const obj = {
                name: '测试数据1',
                value: '测试数据2',
                msg: '',
                age: 18
            }
            const url = `/get/info/${this.params_2(obj)}`;
            console.log(url);
        },
    }
}

判断字符串是否含有某段/个字符

js
const sentence = 'The quick brown fox jumps over the lazy dog.';
const word = 'fox';
console.log(`The word "${word}" ${sentence.includes(word) ? 'is' : 'is not'} in the sentence`);
const sentence = 'The quick brown fox jumps over the lazy dog.';
const word = 'fox';
console.log(`The word "${word}" ${sentence.includes(word) ? 'is' : 'is not'} in the sentence`);

删除字符串中指定字符

js
var str = "aaab bbb ccc ddd";
 
var reg1 = new RegExp("a","g"); // 加'g',删除字符串里所有的"a"
var a1 = str.replace(reg1,"");
console.log(a1); // b bbb ccc ddd
 
var reg2 = new RegExp("a"); // 不加'g',仅删除字符串里第一个"a"
var a2 = str.replace(reg2,"");
console.log(a2); // aab bbb ccc ddd
var str = "aaab bbb ccc ddd";
 
var reg1 = new RegExp("a","g"); // 加'g',删除字符串里所有的"a"
var a1 = str.replace(reg1,"");
console.log(a1); // b bbb ccc ddd
 
var reg2 = new RegExp("a"); // 不加'g',仅删除字符串里第一个"a"
var a2 = str.replace(reg2,"");
console.log(a2); // aab bbb ccc ddd

重复字符串

要把字符串重复指定的次数,可以使用 for 循环,现在可以使用 repeat() 方法一行搞定

js
// 常规写法
let str = ''
for (let i = 0; i < 5; i++) {
  str += 'Hello '
}
console.log(str) // Hello Hello Hello Hello Hello

// 简写
'Hello '.repeat(5)
// 常规写法
let str = ''
for (let i = 0; i < 5; i++) {
  str += 'Hello '
}
console.log(str) // Hello Hello Hello Hello Hello

// 简写
'Hello '.repeat(5)

获取字符串中的第N个字符

js
let str = 'jscurious.com'
// 常规写法
str.charAt(2) // c

// 简写
str[2] // c
let str = 'jscurious.com'
// 常规写法
str.charAt(2) // c

// 简写
str[2] // c

截取某个字符前面所有的字符串

js
function stopRightThere(str, stop) {  // 截取某个字符前面所有的字符串
    let a = str.indexOf(stop)
    let result = str.substring(0, a);
    return result
}
function stopRightThere(str, stop) {  // 截取某个字符前面所有的字符串
    let a = str.indexOf(stop)
    let result = str.substring(0, a);
    return result
}

截取某个字符后面的字符串

js
function Arter(str, stop) { // 截取某个字符后面的字符串
    let index = str.indexOf(stop);
    let result = str.substr(index + 1, str.length)
    return result
}
function Arter(str, stop) { // 截取某个字符后面的字符串
    let index = str.indexOf(stop);
    let result = str.substr(index + 1, str.length)
    return result
}

将字符串中的指定子字符串替换为新字符串

js
function deleteStr_in_Str(str, targetStr, into) { // 将 字符串 中的 指定子字符 串替换为 新字符串
    // targetStr也可以为数组
    if (isArray(targetStr)) {
        const inputArray = targetStr
        const inputString = str
        const resultString = inputArray.reduce((str, item) => str.replace(item, into), inputString);
        return resultString
    } else {
        let result = str.replace(targetStr, into)
        return result
    }
}
function deleteStr_in_Str(str, targetStr, into) { // 将 字符串 中的 指定子字符 串替换为 新字符串
    // targetStr也可以为数组
    if (isArray(targetStr)) {
        const inputArray = targetStr
        const inputString = str
        const resultString = inputArray.reduce((str, item) => str.replace(item, into), inputString);
        return resultString
    } else {
        let result = str.replace(targetStr, into)
        return result
    }
}

测试

js
let str = '我是一串2023-10-18字符2023-10-17 [可播放]'
deleteStr_in_Str(str, ['2023-10-17', '2023-10-18', ' [可播放]'], '')
// '我是一串字符'
let str = '我是一串2023-10-18字符2023-10-17 [可播放]'
deleteStr_in_Str(str, ['2023-10-17', '2023-10-18', ' [可播放]'], '')
// '我是一串字符'

插值表达式超过长度显示 ...

html
{{ str.length > 12 ? str.substring(0, 12) + '...' : str }}
{{ str.length > 12 ? str.substring(0, 12) + '...' : str }}