Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запишите в новый массив элементы, значение которых начинается с цифры 1 или цифры 2. (https://javascript.ru/forum/misc/82898-zapishite-v-novyjj-massiv-ehlementy-znachenie-kotorykh-nachinaetsya-s-cifry-1-ili-cifry-2-a.html)

рони 01.08.2021 15:21

javascript888,
String(obj[key]) это тоже самое(почти) что (''+obj[key])
пост #1 исправить строку 13 и 22 и будет вам счастье!

Gm5 01.08.2021 20:25

javascript888, тебе нужно ещё раз ВНИМАТЕЛЬНО перечитать тему по поводу областей видимости и по поводу обращения к элементам строк.
К первой цифре (элементу) числа ты не сможешь обратиться - так как это ЧИСЛО, а вот к первому элементу СТРОКИ - сможешь! Вот поэтому и делается перевод числа в строку.

Gm5 01.08.2021 20:37

javascript888, первоначально код у тебя был console.log(result) - в то время как объект(кстати, почему объект, если просят записать полученные значения в МАССИВ, а массив это в квадратных скобках [ ], а не в фигурных { } ) result остался не заполненным, а значит - вывелся пустой объект( массив), который кроме как в начале нигде больше не фигурирует и не задействован.

Gm5 01.08.2021 21:07

javascript888,
console.log((''+obj[key])[0]) - буквально значит вывести в консоль каждый первый символ строк, которые в объекте. Ведь если пустые кавычки(а это всегда нулевое СТРОКОВОЕ значение) приплюсовать к числовому - то всегда победит строковое. Кстати, данная запись - это вариант перевода к строке в обход метода String() .
А ранее в if ты задавал условие вывода только тех значений в объекте, которые начинаются на 1 или 2. А вместо document.write(obj[key]),тебе скорее всего нужно написать result.push(obj[key]) - тебе же нужно найденные значения в новый массив записать, так ведь? И уже командой console.log(result) - ты выведешь в консоль новый массив с нужными значениями.
Надеюсь, я понятно и подробно ответил тебе. :thanks:
У тебя вся проблема кроется в недостаточном изучении простой теории из учебника. Я уверен, что на форуме ребята опытные и всегда подскажут и посоветуют, но знать теорию за тебя никто не сможет.))


Часовой пояс GMT +3, время: 12:24.