#javascript #arrays #object
Вопрос:
У меня есть этот код
bodyLength.map((el, i) => {
console.log(`${values.bodyTitleEn2 i.toString()}`);
body.push({
title: [
{
key: 'en',
value: values.bodyTitleEn i,
},
{
key: 'ku',
value: values.bodyTitleKu i,
},
{
key: 'ar',
value: values.bodyTitleAr i,
},
] ...
values.bodyTitleEn
, Ku
, и Ar
иметь ряд в конце их, а значит values.bodyTitleEn0
, values.bodyTitleEn1
, values.bodyTitleEn2
и у меня есть этот массив bodyLength
, который равен длине сколько bodyTitle[En]
там, так что я пытаюсь достичь values.bodyTitleEn i
, чтобы добавить число в конце динамически, но он говорит undefined values.bodyTitleEn
, потому что bodyTitleEn
не существует объекта без номера в конце, как я могу добиться этого, спасибо.
Ответ №1:
Вы можете добавить номер следующим образом:
values[`bodyTitleEn${i}`]
приведенный выше синтаксис попытается получить значение ключа bodyTitleEn0
, bodyTitleEn1
…
когда вы используете values.bodyTitleEn i
, вы пытаетесь добавить число к возвращаемому значению values.bodyTitleEn
, но, как вы заметили, у объекта values нет ключа bodyTitleEn
, и даже если у него есть ключ, это не то, что вы хотите сделать.
Комментарии:
1. да, я вижу это, спасибо за ответ, вы сэкономили мне так много времени 🙂 ура
2. @LhonRafaatMohammed См. Вычисленные Имена Свойств .