Ошибка: TypeError: undefined не является объектом в Java Script

1

Я новичок в javascript, и я экспериментирую с некоторыми данными, чтобы узнать о массивах. к сожалению, я получаю ошибку как

"Ошибка: TypeError: undefined не является объектом в Java Script (оценка" dateArray [count] = dateInput [i] ")

Что я делаю неправильно?

var dateInput = ["18-Sep-2018", "19-Sep-2018", "20-Sep-2018", "21-Sep-2018", "22-Sep-2018"];
var msInput = [86.69, 86.69, 86.76, 86.86, 86.97];
var hsdInput = [79.58, 79.58, 79.58, 79.58, 79.58];
var startDate, endDate, count;
var dateArray, msArray, hsdArray = new Array();
count = 0;
startDate = "18-Sep-2018";
endDate = "21-Sep-2018";

function createArray() {
    for (i = 0; i < dateInput.length; i = i + 1) {
        if (dateInput[i] >= startDate && dateInput[i] <= endDate) {
            dateArray[count] = dateInput[i];
            count = count + 1;
        }
    }
}
createArray();
console.log(msArray);
Теги:
arrays

3 ответа

1

Вы должны написать следующее:

var dateArray = [], msArray = [], hsdArray = [];

потому что в var dateArray, msArray, hsdArray = new Array(); dateArray и msArray не определены

1

Проблема в том, что вы не инициализировали переменную dateArray.

var dateArray = new Array(), // <-- initialize this with new Array() or []
    msArray = new Array(), // <-- Might wanna initialize this too
    hsdArray = new Array();
0

Ошибка не требует пояснений, которую вы пытаетесь обрабатывать как неопределенный объект, что означает, что вы выполняете некоторую операцию, например

undefined[key] = 'something'

ИЛИ ЖЕ

undefined.key

В вашем коде проблема находится в следующей строке.

var dateArray, msArray, hsdArray = new Array();

Здесь dateArray и msArray не определены. Измените это на

var dateArray = [], msArray = [], hsdArray = [];

ИЛИ ЖЕ

var dateArray = new Array(), msArray = new Array(), hsdArray = new Array();

ИЛИ (чтобы избежать такой путаницы в будущих случаях, объявите var отдельно)

var dateArray = new Array();
var msArray = new Array();
var hsdArray = new Array();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню