昨天面试的算法题,请问我做对了吗?QAQ

243 阅读1分钟
// a='34', b='1234567' -> return 2
// a='355', b='1234567' ->return -1;
// a='35', b='1235567' ->return 3  
// 使用遍历


var a = '355'
var b = '1235567';

var arra = [];
var arrb = [];
for (let i = 0; i < a.length; i++) {
    arra.push(a[i]);
}
for (let i = 0; i < b.length; i++) {
    arrb.push(b[i]);
}
// 判断第一位在不在数组B中
let x = 0;
let res = [];

function compare(){
    for(let j=0;j<arrb.length;j++){
        if(arra[x]==arrb[j]){
            res.push(arra[x])
            x = x+1;
            j = j+1;
            if(arra[x]==arrb[j]){
                j = j-1;
            }else{
                break;
            }
        }
    }
    if(res.toString()=== arra.toString()){
        console.log('找到符合预期的值:')
        return arrb.indexOf(res[0])
    }else{
        console.log('未找到符合预期的值:')
        return -1
    }
}
let result = 0;
result = compare()
console.log(result);

昨天的面试题,希望好心人评论区留言告诉我一下。自己测试了没问题,但是不知道对不对。QAQ