Переменная в вызове объекта в javascript? Есть объект видаvar book = { author__1: { name: 'John', surname: 'Smith' }, author__2: { name: 'John', surname: 'Smith' } }; Что бы получить "John" в консоли, нужно обратиться к значению:console.log(book.author__1.name); Можно ли и как (если можно) вместо author__1 в book.author__1.name передавать переменную? Смысл в цикле проходится по всем author__{число} вытягивая из них данные как-то так:for (var i=1; i var currentauthor // генерированный каким-то образом console.log(book.currentauthor .name); }
Да, можно использовать переменную для доступа к значениям в объекте. В данном случае, вы можете создать строку с названием ключа объекта и затем использовать эту строку в качестве ключа для доступа к значению. Вот как это можно сделать:
var book = { author__1: { name: 'John', surname: 'Smith' }, author__2: { name: 'Jane', surname: 'Doe' } }; var max = 2; for (var i = 1; i <= max; i++) { var currentauthor = "author__" + i; console.log(book[currentauthor].name); }
В этом примере, переменная currentauthor будет создаваться как строка "author__{число}", которая затем будет использоваться для доступа к соответствующему значению в объекте book. В результате в консоли будет выводиться имя всех авторов, которые есть в объекте book.
Да, можно использовать переменную для доступа к значениям в объекте. В данном случае, вы можете создать строку с названием ключа объекта и затем использовать эту строку в качестве ключа для доступа к значению. Вот как это можно сделать:
var book = {author__1: {
name: 'John',
surname: 'Smith'
},
author__2: {
name: 'Jane',
surname: 'Doe'
}
};
var max = 2;
for (var i = 1; i <= max; i++) {
var currentauthor = "author__" + i;
console.log(book[currentauthor].name);
}
В этом примере, переменная currentauthor будет создаваться как строка "author__{число}", которая затем будет использоваться для доступа к соответствующему значению в объекте book. В результате в консоли будет выводиться имя всех авторов, которые есть в объекте book.