纯JS实现在一个字符串b中查找另一个字符串a出现的所有位置,并且不使用字符串的方法(递归)
问题:判断字符串A在中所有出现字符串B中(长度大于1)的索引。不得使用字符串方法indexof,substring等 有小伙伴在面试遇到了这个问题,乍一看如果使用使用字符串方法indexof,substring,很简单容易实现,但如果不使用这些方法,怎么样才能实现这个需求呢 // 思路: 如果不能使用字符串的相应方法,我们可以把字符串转换成数组,使用递归函数不断去比对相应的数组索引,然后把满足条件的索引打印出来,其实很多现在前后端交互处理数据的方法,用的都是递归偏多,千万别小瞧递归! 话不多说,我们先上解决问题的方法: <script> // 其实很多现在前后端交互处理数据的方法,用的都是递归变多,千万别小瞧递归 // 思路: 不能使用字符串的相应方法,我们可以把字符串转换成数组,首先使用递归不断去比对相应的数组索引 // 随机的字符 var str1 = 'adfacddtgjacbasaclsaacdctacw'; // 条件筛选的字符 var str2 = 'basaclsa'; // 把相应的字符串转换为数组 var arr1 = str1.split(''); var arr2 = str2.split(''); function test (arr) { // 写一个for循环,先把需要筛选的数组arr2第一个索引拿来比对 for(var i = 0; i