Сразу две ошибки. Id повторяться в документе не должен — раз, id начинаться с цифры не должен — два.
document.querySelectorAll с id внутри это яркий симптом говнокода.
Антон, поскольку массив это объект, а ключами объекта являются строки, следовательно ключи массива — строки.
array[1] и array['1'] это ссылки на один и тот же элемент массива (или объекта, если array не массив).
А вообще простейший ответ на вопрос, как из объекта Array сделать объект Object — это убить специфические для Array поля. То есть length и constructor. В данном задании, правда, это придётся сделать ещё и рекурсивно.
JackShcherbakov, и что же Вы достаёте из localStorage?
Перед этим комментарием написано: localStorage.children[1].innerHTML.
Если то, что Вы достаёте из localStorage, строка, следовательно, localStorage.children — строка.
А если это строка, то localStorage.children[1] — это второй символ этой строки. То есть тоже строка длиной 1.
И откуда же у этой строки длиной 1 возьмётся свойство innerHTML?
А что за странный комментарий "У строки нету childdren!"?
localStorage это вообще не строка, это системный объект. Кто-то просто недочитал документацию.
Поскольку js по умолчанию поддерживает UTF-8, будет работать и без кавычек, главное, чтобы небуквенных символов в идентификаторов не было.
Проблема масштабирования на иноязычных, как я понял, перед автором вопроса не стоит.
В Вариант 1 жестоко не хватает слова All у метода и соответственно цикла в коде ниже.
Вы хоть в консоль выведите doc.querySelector('.link') и $('.link') и полюбуйтесь на различие.
document.querySelectorAll с id внутри это яркий симптом говнокода.