Я работаю над диссон-ботом, и у меня есть список символов в алфавитном порядке.Я пытаюсь сделать так, чтобы, когда кто-то использовал команду $info (name)
, бот просматривал массив с циклом for и извлекал имя из массива, совпадающее с блоком, ближайшим к началу строки.,Так, например:
let namelist = ['adam', 'al', 'albert', 'bertie', 'cole'];
$info a
/*would grab Adam because he's the first on the list alphabetically
with an 'A' in his name*/
$info ber
/*would grab bertie because he's the first on the list with a ber in the
beginning of his name,
and not grab albert who has a ber later in his name and
is ahead of bertie in the array*/
Это то, что я имею до сих пор.Прямо сейчас, если бы я попытался сделать $info ber
, он бы схватил Альберта, потому что сначала он встречается с его именем в массиве.Я думал об использовании подстроки и charAt, но я не мог найти эффективный способ сделать это.Я также думал об использовании findIndex или indexOf, но не мог понять, как заставить это работать с этим.
for(let i = 0; i < namelist.length; i++){
if(namelist[i].includes(name)){
object = namelist[i];
console.log(object);
break;
}
}