Буквально оно говорит, что начинается с первого символа до конца, и на каждом шаге добавляйте новый символ перед всей созданной строкой
Так, например, для имени david
, оно начинается спустая строка, затем переводит каждую букву в начало серии.начиная с нуля, затем d
, затем добавляет a
к началу, что составляет ad
, затем добавляется v
, чтобы стать vad
, и так далее до divad
-> То, что вы пробовали с этим кодом:
reverseIt = str[i] + [];
отличается от исходного кода.Потому что reverseIt
это []
только в начале !(Просто обратите внимание, что это []
здесь равно ''
, потому что в данном случае строка является просто массивом строк! Так что это содержит оба случая.)
Это []
(или ''
, здесь нет никакой разницы) сначала действительно, но, переходя на один уровень, он становится d
!затем новый str[i]
равен a
, который затем объединяется в reverseIt
, который теперь равен d
, и затем результат становится ad
, который будет помещен в reverseIt
!поэтому в конце этого шага переменная reverseIt
равна ad
, а не []
!и так будет продолжаться до тех пор, пока вся строка не будет перевернута.
-> То, что вы пробовали с этим кодом:
var testing = [];
reverseIt = str[i] + testing;
неверно, потому что вы буквально сбрасываете свою перевернутую строку в каждомшаг, и вы не соединяете новую строку с уже созданной строкой, а скорее устанавливаете ее только для самого последнего символа.поэтому сначала reverseIt
равно []
, затем становится d
, затем становится a
, затем становится v
и т. д., поскольку на каждом шаге оно равняется str[i] + testing
, и потому чтоtesting
всегда []
, буквально это выглядит так: reverseIt = str[i]
, поэтому в конце он содержит только последний символ строки!