题目:
有字符串 a = '34' b = '123456789',要求定义一个函数返回b字符串中第一个匹配a字符串的下标,不得使用现有的方法 indexOf()
两种解决办法:
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
https://www.w3school.com.cn/js/jsref_substr.asp
const fuck = (b, a) => {
if (b.length < a.length) return -1;
for (let i = 0; i < b.length - a.length ; i++) {
if (b.substr(i, a.length) === a) return i ;
};
return -1;
};
let a = '34';
let b = '12345678'
console.log(fuck(b, a));
//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
slice() 方法可从已有的数组中返回选定的元素。
https://www.w3school.com.cn/jsref/jsref_slice_array.asp
let a = '34';
let b = '12345678'
function select(a, b) {
let al = a.length,
bl = b.length;
for (let i = 0; i < bl; i++) {
if(b.slice(i, i + al) == a) console.log(i);
if(b.substr(i, al) == a) console.log(i);
}
}
select(a, b)
// slice() 方法可从已有的数组中返回选定的元素。