JS字符串判断 startsWith() endsWith() - Kaiqisan

JS字符串判断 startsWith() endsWith()

ヤッハロー、Kaiqisanすうう、一つふつうの学生プログラマである, 耽搁许久,今天重新回来讲讲数组字符串的一些方法。好巧不巧,这还是一个ES6的方法。

startsWith(val, num) 判断字符串是否以XXX开头,它有俩参数,第一个是判断的参考字符串,第二个是判断开始的下标,默认为0。它有返回值,如果符合条件就返回true,反之就返回false

let str = 'append'
let flag = str.startsWith('app')
console.log(flag); // true

它等同于

let str = 'append'
let flag = str.indexOf('app') === 0
console.log(flag); // true

现在添加第二个判断参数

let str = 'append'
let flag = str.startsWith('en', 3)
console.log(flag); // true

它等同于

let str = 'append'
let flag = str.indexOf('en') === 3
console.log(flag); // true

**PS:**第二个参数务必取用合法值(0 ---- str.length - 1),如果大于str.length - 1的话,取值永远为false,如果小于0的话,取值永远为true。
**PS:**如果第一个判断参数取空值的话 "" ,判断永远为true

endsWith(val, num) 判断字符串是否以XXX结尾,它有俩参数,第一个是判断的参考字符串,第二个意思是截取字符串前n位,然后再开始判断。默认为str.length。它有返回值,如果符合条件就返回true,反之就返回false

let str = 'append'
let flag = str.endsWith('end')
console.log(flag); // true

它等同于

let str = 'append'
let flag = str.indexOf('end') === str.length - 'end'.length
console.log(flag); // true

现在添加第二个判断参数

let str = 'append'
let flag = str.endsWith('pe', 4)
console.log(flag); // true

它的判断过程是这样的,首先读取第二个参数,先截取前四位字符串 "appe", 然后开始判断这个字符串是否以 "pe",结果为true.

它等同于

let str = 'append'
let flag = str.indexOf('pe') === 4 - 'pe'.length
console.log(flag); // true

PS: 第二个参数务必取用合法值(1 ---- str.length),如果大于str.length的话,第二个参数默认变成str.length,如果小于1的话,取值永远为false。

PS:如果第一个判断参数取空值的话 "" ,判断永远为true

总结

这俩方法还有一个总的注意点,就是不可使用正则表达式作为判断依据,否则必报错,况且这两个方法就是来查询字符串是否以某字符串开始或结束。
还有一个需要注意的就是这两个方法的单词拼写,是startsWith 和 endsWith 不是startWith 和 endWith,注意不要丢掉这个s,单词拼错是编程里面最低级的错误,俺也是踩了不少这个坑(o(╥﹏╥)o)。

猜你喜欢

转载自blog.csdn.net/qq_33933205/article/details/108002427