Переменная в вызове объекта в 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);
}

21 Авг 2019 в 07:05
154 +1
0
Ответы
1

Да, можно использовать переменную для доступа к значениям в объекте. В данном случае, вы можете создать строку с названием ключа объекта и затем использовать эту строку в качестве ключа для доступа к значению. Вот как это можно сделать:

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.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 727 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир