在数组上映射后创建动态对象键

问题描述 投票:0回答:2

所以我想创建一个非常复杂的数据结构,如下所示:

slots: {
    'slot_1': {
         id: 'slot_1',
         associatedCard: {}
         },
    'slot_2': {
         id: 'slot_2',
         associatedCard: {}
         },
    'slot_3': {
         id: 'slot_3',
         associatedCard: {}
         }
}

我有10个插槽,我想用卡填充(每个插槽可以包含一张卡),所以我实际上是在卡上循环,创建插槽,然后尝试动态生成上述数据结构。这是我的代码:

 slots: (() => {
        return {
            ...cards.map((card, index) => {
            return {
                            [`slot_${index + 1}`]: {
                                id: `slot_${index + 1}`,
                                ownedCard: {}
                            }
                        };
                    })
                };
            })(),

但是,我没有得到想要的东西。这是我得到的:enter image description here

如何解决此问题,以便我将slot_1而不是0用作密钥,将slot_2而不是1作为密钥,等等。?

javascript reactjs algorithm data-structures jsx
2个回答
1
投票

Array#map项,Array#map项,而不是:


1
投票

问题是.reduce返回一个数组,这就是为什么要获得编号键的原因。您需要执行以下操作:

© www.soinside.com 2019 - 2024. All rights reserved.