给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
示例 1:
输入: haystack = "hello", needle = "ll"
输出: 2
示例 2:
输入: haystack = "aaaaa", needle = "bba"
输出: -1
示例 3:
输入: haystack = "abc", needle = ""
输出: 0
解法一:这个函数在JS中对应的是indexOf(),实现的方式比容易,遍历一次就可以了。先找到第一个相等的字符,字符串haystack 向后截取needle长度,相等就返回此字符出现的位置
/**
* @param date 2018/11/11 下午
*/
var strStr = function(haystack, needle) {
if(haystack==needle || needle==""){
return 0;
}
var arrn = needle.split("")
var len = needle.length;
var newstr = "",ii;
for(var i in haystack){
if(haystack[i]==arrn[0]){
ii=parseInt(i)
newstr = haystack.substr(ii,len)
if(newstr==needle){
return ii;
}
}
}
return -1;
};
本文介绍了一种在JavaScript中查找子字符串首次出现位置的方法,通过遍历haystack字符串并对比needle字符串,实现indexOf()函数的功能。文章提供了详细的代码示例,展示了如何处理空字符串和完全匹配的情况。
173

被折叠的 条评论
为什么被折叠?



