@Allegium

Как обратиться к объекту,созданному функцией, в объекте?

Доброго времени суток,

Имитирую базу данных,создавая по объекту для каждого нового запроса. Появилась проблема, что я не могу обращаться к свойствам объекта, выдает undefined. или can't read property of undefined. Например, хочу вывести только timings у всех объектов, или только у одного определенного, а получается такое. Также ещё не понимаю, как обратиться к конкретному объекту в объекте, тоже выдает undefined. Есть предположение, что можно решить как-то через циклы, но не знаю, как.Либо я просто не так вызываю нужные мне свойства?
Мой код:
let ger_task = {}
let name = 1;
let descr = 2;
let timing = 3;
let ready =4;
let auth = 5;
//функция для создания новых заданий или объектов
function newTask(name,descr,timing,auth,ready) {
    this.name = name;
    this.descr = descr;
    this.timing = timing;
    this.ready = ready;
    this.auth = auth;

    content = {
        task:this.name,
        description:this.descr,
        timings:this.timing,
        author:this.auth,
        readiness:this.ready,
        
    }
    ger_task[name] = this.content ;
    }


    
newTask('1', '2', "3",'4', "5")
    
newTask('а', 'b', "c",' d', "e")

console.log(ger_task.content.task)


Спасибо за помощь!
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
E1ON
@E1ON Куратор тега JavaScript
Programming, Gamedev, VR
В ger_task нету свойства content.

console.log(ger_task.а.task);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@0ffff0
//эта программа показывает как обратиться к элементу в объекте через метод объекта
let ger_task = {
name:[1,2,3,4],
descr:[1,2,3,4],
meth : function (value){
console.log(this.name[2]);
console.log(this.descr[1]);
//когда функция является методом объекта тогда указатель this будет привязан к нему,
//в случае когда функция принадлежит глобальной области, this указывает на объект window
return value
}
};
console.log(ger_task.meth(ger_task.name))
console.log(ger_task.meth(ger_task.descr[3]))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы