Существует объект который содержит объекты . В этом объекте есть метод который является конструктором при вызове которого просто добавляет еще объект.
var obj = {
list1:{petName:'Gyffy',
petOwner:'Peter',
date: '2016-05-03',
time: '14:23',
note:'sfdsfsdfdsf'},
list2:{petName:'Catty',
petOwner:'Oleg',
date: '2017-05-03',
time: '16:23',
note:'xcxzcxcxc'},
addObj: function(petName,petOwner,date,time,note){
this.petName = petName,
this.petOwner = petOwner,
this.date = date,
this.time = time,
this.note = note
}
}
obj.addObj('Kitty','Max','2014-06-03','14:34','bla bla');
В результате этого "кода") создаются свойства текущего объекта.
{list1: {…}, list2: {…}, addObj: ƒ, petName: "Kitty", petOwner: "Max", …}
addObj
:
ƒ (petName,petOwner,date,time,note)
date
:
"2014-06-03"
list1
:
{petName: "Gyffy", petOwner: "Peter", date: "2016-05-03", time: "14:23", note: "sfdsfsdfdsf"}
list2
:
{petName: "Catty", petOwner: "Oleg", date: "2017-05-03", time: "16:23", note: "xcxzcxcxc"}
list3
:
{petName: "dsfdsf", petOwner: "Olga", date: "2018-12-06", time: "13:23", note: "dsfsd"}
note
:
"bla bla"
petName
:
"Kitty"
petOwner
:
"Max"
time
:
"14:34"
__proto__
:
Object
Как мне реализовать вызов конструктора и создать новый объект в obj
Ответ
var obj = {
list1: {
petName: 'Gyffy',
petOwner: 'Peter',
date: '2016-05-03',
time: '14:23',
note: 'sfdsfsdfdsf'
},
list2: {
petName: 'Catty',
petOwner: 'Oleg',
date: '2017-05-03',
time: '16:23',
note: 'xcxzcxcxc'
},
addObj: function(petName, petOwner, date, time, note) {
for (var i = 1; ; i++) {
if (!this["list" + i]) {
this["list" + i] = {
petName: petName,
petOwner: petOwner,
date: date,
time: time,
note: note
};
break;
}
}
}
}
obj.addObj('Kitty', 'Max', '2014-06-03', '14:34', 'bla bla');
console.log(obj);
Комментариев нет:
Отправить комментарий