首页 > 解决方案 > 如何使用动态键访问对象的值?

问题描述

我有这个代码

    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对象中永远存在没有它末尾的数字,我怎么能做到这一点谢谢。

标签: javascriptarraysobject

解决方案


您可以像这样附加数字:

values[`bodyTitleEn${i}`]

上面的语法将尝试获取键的值bodyTitleEn0bodyTitleEn1...

当您使用 时values.bodyTitleEn + i,您试图将数字添加到返回的值中,values.bodyTitleEn但就像您注意到 values 对象没有键一样bodyTitleEn,即使它有键,这也不是您想要做的。


推荐阅读