السلام عليكم ورحمة الله وبركاته

أتعلم حاليا Javscript عن طريق موقع Codecademy من بين الدروس التي أخذتها وهو درس البحث عن نص ووضعه في متغير :

var text = "moner yonis mhmoud buzer kis ali khlid slem zid";
var myName = "ali";
var hits = [];
for (var i = 0 ; i < text.length ; i++) {
    if (text[i] === myName.substring(0,1)) {
        for (var j = i ; j < (myName.length + i) ; j++) {
            hits.push(text[j]);
        };
    };
};
if (hits.length === 0) {
    console.log("Your name wasn't found!");
} else {
    console.log("Your name is " + hits);
};

لكن الطريقة غير فعالة إن كان هناك إسم ثاني في متغير text يبدأ بنفس الحرف الأول في متغير myName .

فأريد أن أتسائل عن خوارزميات أخرى للبحث أفضل من هذه وما هي أستخدامات كل منها وهل هناك موقع يعرض أشهر الخوارزميات سواءً البحث أو الترتيب أو التشفير ؟