Lodash startsWith()方法第三个参数作用解析:为何指定位置1时返回true?
关于
_.startsWith第三个参数的作用解释 这个问题问得好!我给你拆解下Lodash里_.startsWith方法的逻辑~
首先,_.startsWith的完整用法是:_.startsWith(string, target, [position=0]),这里的第三个可选参数position是起始检查的索引偏移量——简单说,它会让方法从字符串的第N个索引位置开始,判断从这个位置往后的子串是否以target开头。
咱们结合你的测试代码来看:
var _ = require('lodash'); var result = _.startsWith('abc', 'b'); console.log(result); // 输出 false result = _.startsWith('abc', 'b', 1); console.log(result); // 输出 true
- 第一个调用没传第三个参数,默认从索引0开始检查:
'abc'的索引0是字符'a',显然和目标'b'不匹配,所以返回false。 - 第二个调用传了
1作为第三个参数:这表示从索引1的位置开始检查。'abc'的索引1对应的字符是'b',从这里往后的子串是'bc',而'bc'确实是以'b'开头的,所以返回true。
别忘了,字符串的索引是从0开始计数的,所以索引1对应的是字符串的第二个字符哦~
内容的提问来源于stack exchange,提问作者Chaz Carothers
相关产品推荐
相关产品推荐

