网站重新建设的申请,怎么制作网站主页,西充县规划建设局网站,win7 iis配置网站 视频教程一、题目描述 给你两个字符串 haystack 和 needle #xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标#xff08;下标从 0 开始#xff09;。如果 needle 不是 haystack 的一部分#xff0c;则返回 -1 。 输入#xff1a;haystack sadb…一、题目描述 给你两个字符串 haystack 和 needle 请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标下标从 0 开始。如果 needle 不是 haystack 的一部分则返回 -1 。 输入haystack sadbutsad, needle sad 输出0 解释sad 在下标 0 和 6 处匹配。 第一个匹配项的下标是 0 所以返回 0 。 二、思路 这道题用String的API只需要一行代码indexOf()我们来用slice()方法模拟indexOf()的功能就是遍历整个待匹配项在待匹配项haystack中选取匹配项needle开头的下标在这个条件下用slice()选取出来的字符串如果等同匹配项needle就返回在haystack成功匹配的字符串第一个下标
三、代码展示
1. indexOf的直接使用
var strStr function(haystack, needle) {return haystack.indexOf(needle);
};
2. slice方法模拟indexOf的功能 var strStr function(haystack, needle) {if(needle.length0) return 0;for(let i0;ihaystack.length;i){if(haystack[i]needle[0]){if(haystack.slice(i,ineedle.length)needle){return i;}}}return -1;
};四、知识回顾
String方法
方法描述indexOf()返回某个指定的字符串值在字符串中首次出现的位置。slice()提取字符串的片断并在新的字符串中返回被提取的部分。