У меня возникли проблемы с тем, что мне показалось бы довольно простой структурой данных. У меня есть объект с именем mylist с 1. вложенным пустым {} в нем и 2. функцией добавления объектов в (1). Пожалуйста, обратите внимание на следующий код:Вложенные объекты, переписывающие друг друга
var object1 = {name: "Object_1"}
var object2 = {name: "Object_2"}
var mylist = {
list: {},
add: function(item, val){
this.list[item] = val
}
}
mylist.add(object1,5)
mylist.add(object2,10)
console.log(mylist)
Теперь, я бы ожидать, что выход будет
{список: {object1: 5, object2: 10}, добавьте: [Function]}
Но вместо того, что я получаю:
{список: { '[объект Object]': 10}, добавьте: [Function]}
По какой-либо причине предыдущие объекты в списке перезаписываются. Также, похоже, что-то вроде преобразования в строку происходит (из-за кавычек), но я не уверен, почему. Почему я не получаю ожидаемый результат? У кого-нибудь есть хороший ресурс?
Большое спасибо. Maurits
'некоторая конверсия в строку, происходящую из-за' toString() '. – vjdhama
Если ответы отвечают вам, пожалуйста, примите их, чтобы удалить их из списка без ответа. – vjdhama