Выполнение некоторого прототипического наследования javascript, я хотел бы нажать аргументы в моем Grades constructor
и выполнить манипуляции с хранилищем и вытолкнуть данные внутри моего массива this.students
, используя мой метод хранения, а затем использовать как мне нравится, в моих других методах.Хранение данных в массиве с использованием Javascript Прототипическое наследование
Но проблема в том, что когда я консоль регистрирую конструктор, он делает то, что мне нужно, с точки зрения нажатия данных в массиве this.students
, но каждый объект появляется как неопределенный.
Это странно, потому что, если я запустил цикл for внутри Grades constructor
, он будет работать отлично. Но я хотел бы иметь отдельный метод для этого, внутри внутри моего Grades constructor
Любая помощь в том, чтобы указывать мне в правильном направлении было бы здорово! Благодаря!
function Grades(studentGrades) {
if(!Array.isArray(studentGrades)) return true;
this.students = [];
this.studentGrades = arguments.length;
this.numRows = 0;
this.numColumns = 0;
this.init();
}
/*
* Method to initialize functions
*/
Grades.prototype.init = function() {
this.storage();
};
/*
* Method to store a list of grades in an array object
*/
Grades.prototype.storage = function() {
for(var i=0; i < this.studentGrades; i++) {
this.students.push(this.studentGrades[i]);
}
};
/*
* Method to add grades
*/
Grades.prototype.addGrades = function(numRows, numColumns, initial) {
for(this.numRows; this.numRows < this.students.length; this.numRows++) {
}
};
/*
* Method to display the students average
*/
Grades.prototype.display = function() {
// body...
};
var inputGrades = new Grades([89,78,93,78], [83,67,93,98], [93,99,73,88]);
console.log(inputGrades);
@Teemu, а длина моего аргумента равна 3 в этом случае var inputGrades = new Grades ([89,78,93,78], [83,67,93,98], [93,99,73,88]). Поскольку я просто передаю объекты внутри функции, пытаясь манипулировать данными любых аргументов.length, я помещаю в свою функцию Grades. – Amechi
Вы устанавливаете 'this.studentGrades = arguments.length;' (что равно 3 *), а затем вы используете 'this.studentGrades' как число, а строку позже вы думаете, что это массив ??? *) 'arguments' - объект, похожий на массив, содержащий аргументы, переданные функции. – Teemu
@Teemu хорошо, если вы console.log (this.studentGrades) он выходит на длину 3 – Amechi