Вот бы узнать - кто вас этой чуши научил? Или сами додумались? В любом случае, имеет место быть очередное "чукча не читатель". В смысле - документацию. А стоило бы.
MeMoJlor, к каким "таким"? Какие на хрен хуки? Что за бред вы несёте? Если элемента нет - нечего к нему обращаться, сами видите, чем это заканчивается. Надо что-то сделать с элементом, которого может не быть - ну так блин, сперва проверьте, что он не null.
rd100, какое свойство представляет размер массива? Если оно в переданном объекте есть - его значение будет использовано, чтобы задать размер создаваемому массиву. Значения других свойств в подобном качестве использоваться не будут.
rd100, это после ваших "улучшений" оно стало неверно. А у меня - всё верно. Вот скажите - зачем вы занялись изменением кода, не разобравшись, что он делает?
Кроме того, я не знаю, что такое "..". Есть просто ".", есть ":", есть "...". А две точки, расположенные горизонтально - о таком знаке препинания я не слышал.
получилось реализовать только через promise но этот вариант мне не подходит
можно с async await
Давай-ка ты, дружочек, определишься - подходит или нет. Потому что async/await - это тоже promise. Или ты об этом не знал? Ну так иди документацию почитай, разберись.
Возвращаясь к предыдущему вашему комментарию, "просто с переменной которая содержит одну строку" - так оно и есть, функция has_consecutive_characters принимает первым параметром (s) строку, в которой ищутся одинаковые символы, расположенные последовательно (второй параметр, count - наличие какого количества повторений надо проверить).
Антон, встречный вопрос - что принимает функция has_consecutive_characters в качестве первого параметра? Если ответ "не знаю", тогда вопрос другой - вы вообще в показанном коде хоть что-то поняли (кроме того, что имеет место быть создание массива)?