Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Присвоение значения массиву (https://javascript.ru/forum/misc/71264-prisvoenie-znacheniya-massivu.html)

pas 05.11.2017 20:25

Присвоение значения массиву
 
Что я делаю не так?
var wtData;
var wwData;
for (var i = 0; i < lastData.length; i++) {
     wtData=lastData[i].split("=");
     wwData[i]="wtData[1]";
}

На строке "wwData[i]="wtData[1]";" вылетает с ошибкой "TypeError: wwData is undefined[Подробнее]"
Я уже всю голову поломал: что я делаю не так?

Rasy 05.11.2017 20:34

Цитата:

Сообщение от pas
Я уже всю голову поломал: что я делаю не так?

var wtData = [];
var wwData = [];
for (var i = 0; i < lastData.length; i++) {
     wtData = lastData[i].split("=");
     wwData[i] = wtData[1];
}

pas 05.11.2017 21:56

Я видимо, что то элементарное не понимаю. Указал явно, что wtData и wwData объекты. Теперь если делать wwData одномерным массивом строк, то вроде работает, но если сделать так:

var wtData = new Object();
var wwData = new Object();
for (var i = 0; i < lastData.length-1; i++) {
       wtData=lastData[i].split("=");
       wwData[i]['datetime']=String(wtData[1].split(' ')[1]+" "+wtData[1].split(' ')[2]);
       wwData[i]['temp']=String(wtData[2].split('°')[0]);
                      }

то опять не работает. снова "TypeError: wwData[i] is undefined" на строке "wwData[i]['datetime']=String(wtData[1].split(' ')[1]+" "+wtData[1].split(' ')[2]);"
PS: Rasy я не совсем понял Ваш ответ. Вы советовали явно объявить wtData и wwData массивами?

Rasy 05.11.2017 23:03

Цитата:

Сообщение от pas
PS: Rasy я не совсем понял Ваш ответ. Вы советовали явно объявить wtData и wwData массивами?

Следуя из логики кода в первом посте по-другому никак.
Цитата:

Сообщение от pas
Я видимо, что то элементарное не понимаю.

Самые основы.
Не хочу мигрень себе заработать, начав разбирать эту небольшую инструкцию:)
var wtData = new Object();
var wwData = new Object();
for (var i = 0; i < lastData.length-1; i++) {
       wtData=lastData[i].split("=");
       wwData[i]['datetime']=String(wtData[1].split(' ')[1]+" "+wtData[1].split(' ')[2]);
       wwData[i]['temp']=String(wtData[2].split('°')[0]);
                      }


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