首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >映射对象中的动态键

映射对象中的动态键
EN

Stack Overflow用户
提问于 2022-09-18 08:37:43
回答 1查看 31关注 0票数 -1

嗨,我有一个像这样的JSON对象:

代码语言:javascript
复制
WorkTime=[{
      "Day": "6",
      "Time1": "8 : 00 - 9 : 00",
      "Time2": "9 : 00 - 10 : 00",
      "Time3": "10 : 00 - 11 : 00",
      "Time4": "11 : 00 - 12 : 00",
      "Time5": "12 : 00 - 13 : 00",
      "Time6": "13 : 00 - 14 : 00",
      "Time7": "17 : 00 - 18 : 00",
      "Time8": "18 : 00 - 19 : 00",
      "Time9": "19 : 00 - 20 : 00",
      "id": 1
    },
    {
      "Day": "0",
      "Time1": "8 : 00 - 9 : 00",
      "Time2": "9 : 00 - 10 : 00",
      "Time3": "10 : 00 - 11 : 00",
      "Time4": "11 : 00 - 12 : 00",
      "Time5": "12 : 00 - 13 : 00",
      "Time6": "13 : 00 - 14 : 00",
      "id": 2
    },]

我希望将对象的值插入到div中。但是我应该写对象键,我的键数是可变的。为此,我决定使用索引和动态调用键,但我对它的语法一无所知。我想做的几乎是这样:

代码语言:javascript
复制
 {
                   WorkTime.map((item, index) => (
                  <div key={index} id={`Ticket${item.Day}Box`} className="bg-gray-50 p-3 w-11/12
                   rounded-t-xl mx-auto" style={{ display: "none" }}>
                    {item.Time{index+1}} 
                  </div>
                )) }

而不是像这样调用键:

代码语言:javascript
复制
WorkTime.map((item, index) => (
                  <div key={index} id={`Ticket${item.Day}Box`} className="bg-gray-50 p-3 w-11/12
                   rounded-t-xl mx-auto" style={{ display: "none" }}>
                    {item.Time1} 
                  </div>
                )) }
EN

回答 1

Stack Overflow用户

发布于 2022-09-18 09:01:54

要回答您的问题,可以使用括号语法和字符串内插来获得所需的内容:

代码语言:javascript
复制
item[`Time${index + 1}`]

我假设您确实意识到,这只会给您提供来自每个WorkTime对象的第一次输入。如果您想要显示所有的时间条目,则必须分别对它们进行迭代。为此,我建议将json的结构更改为如下所示:

代码语言:javascript
复制
WorkTime = [{
  id: 0, // whatever
  day: "day string",
  times: ["time 1", "time 2"] // etc
}]

修改json是不可能的,那么您可以使用以下方式收集所有Time键:

代码语言:javascript
复制
Object.keys(item).filter(k => k.match(/Time\d/))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73761228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档