ФорумПрограммированиеJavaScript → ошибка: не определено свойство length

ошибка: не определено свойство length

  • tonche

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz Окт. 20, 2016, 4:29 п.п.

    На сайте крутится процедура

    
    function encode(text) {
        var str = '';
        for (var i = 0; i < text.length; i++) {
            var zn = '';
            for (var j = 0; j < text[i].length; j++) {
                zn = zn + '.' + text[i].charCodeAt(j);
            }
            str = str + zn;
        }
        return (str);
    }
    

    В 90% мест работает корректно, в 10% выдает ошибку "Не удалось получить свойство "length" ссылки, значение которой не определено или является NULL"
    При этом отладчик IE11 говорит, что text="123", text.length = 3, но text[0].length не определено, wtf?

  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Окт. 20, 2016, 9:11 п.п., спустя 4 часа 42 минуты 11 секунд

    Видимо работает когда text не строка

  • Ivan.

    Сообщения: 495 Репутация: N Группа: Адекваты

    Spritz Ноя. 7, 2016, 12:03 д.п., спустя 17 дней 2 часа 52 минуты

    Так ваш код будет выглядеть более понятным и быстрым

    const encodeText = text => [...text].map(char => char.charCodeAt(0)).join('.')

Пожалуйста, авторизуйтесь, чтобы написать комментарий!