gpt4 book ai didi

javascript - 当ID在对象外部时如何将其移动到对象内部?

转载 作者:行者123 更新时间:2023-12-04 10:50:17 25 4
gpt4 key购买 nike

我有一个数组,里面有一些对象。每个对象在其外部都有一个 ID,但我想将该 ID 插入对象内部。

这是数组:

'DISCOUNTS2: ', [ { id: 'discount1',
│ data:
│ { food_description: 'kifle me mermelad dhe nutella',
│ time: '22:00',
│ price: '1',
│ amount: 4,
│ food_name: 'kifle',
│ rest_id: '1' } },
{ id: 'ai34Lyk9uXtpGDcCKfqa',
│ data:
│ { food_description: 'fsdfdsfdsf',
│ time: '345345',
│ price: '6',
│ amount: 4,
│ food_name: 'sdsddsf',
│ rest_id: '5' } },
{ id: 'discount3',
│ data:
│ { food_description: 'torte me dredheza',
│ time: '18:00',
│ price: '3',
│ amount: 5,
│ food_name: 'torte',
│ rest_id: 'Aura1' } },
{ id: 'discount2',
│ data:
│ { food_description: 'byrek me mish dhe djath',
│ time: '20:00',
│ price: '0.50',
│ amount: 6,
│ food_name: 'byrek',
└ rest_id: 'jeta1' } } ]

这是我在数组中插入数据的代码:

   var ref = firebase.firestore().collection('discounts')
.orderBy('rest_id')
.limit(this.state.limit)
ref.onSnapshot((querySnapshot => {
var discounts = querySnapshot.docs.map(doc => { return { id: doc.id, data: doc.data() } });
var lastVisibleDiscount = discounts[discounts.length - 1].rest_id;
this.setState({
discounts: discounts,
lastVisibleDiscount: lastVisibleDiscount,
loading: false,
});
}));

最佳答案

在您的代码中,只需在获取时添加id。替换为:

var discounts = querySnapshot.docs.map(doc => { return { id: doc.id, data: doc.data() } });

用这个:

var discounts = querySnapshot.docs.map(doc => ({ id: doc.id, ...doc.data() }));

请注意,您将拥有一个更扁平的结构。不再有具有 iddata 属性的包装对象。该数组将立即包含数据对象,包括 id 属性。

关于javascript - 当ID在对象外部时如何将其移动到对象内部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com