javascript888,
String(obj[key]) это тоже самое(почти) что (''+obj[key]) пост #1 исправить строку 13 и 22 и будет вам счастье! |
javascript888, тебе нужно ещё раз ВНИМАТЕЛЬНО перечитать тему по поводу областей видимости и по поводу обращения к элементам строк.
К первой цифре (элементу) числа ты не сможешь обратиться - так как это ЧИСЛО, а вот к первому элементу СТРОКИ - сможешь! Вот поэтому и делается перевод числа в строку. |
javascript888, первоначально код у тебя был console.log(result) - в то время как объект(кстати, почему объект, если просят записать полученные значения в МАССИВ, а массив это в квадратных скобках [ ], а не в фигурных { } ) result остался не заполненным, а значит - вывелся пустой объект( массив), который кроме как в начале нигде больше не фигурирует и не задействован.
|
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. |