gpt4 book ai didi

javascript - 如何在 Javascript 中创建数组对象

转载 作者:行者123 更新时间:2023-11-28 14:51:10 29 4
gpt4 key购买 nike

我在这方面花费的时间比我愿意承认的要多。我无法构造一个填充数组的对象。

我希望我的数据如下所示:

items={
{
'2012-05-22': [{text: 'item 1 - any js object'}],
'2012-05-23': [{text: 'item 2 - any js object'}],
'2012-05-24': [],
'2012-05-25': [{text: 'item 3 - any js object'},{text: 'any js object'}],
}
}

我正在进行数据库调用,我收到的数据如下所示:

Object {start: "08:00:00", end: "09:00:00", full_name: "Tomomi", date: "2017-06-08", Barber_id: "1"…}

我感兴趣的数据是 full_name 值和日期值。

这是我尝试过的:

let  newItems = {};
axios.post(endpoint, {lookup: day.dateString}).then((customerData) => {
customerData.data.forEach((val,key)=>{
newItems = {[val.date]:[]};
newItems[val.date].push({name:val.full_name});
console.log(newItems);
})
}

看起来像这样:

Object {2017-06-08: Array(1)}
2017-06-08
:
Array(1)

这非常接近,但问题是我的代码正在覆盖我的数据。我正在尝试动态创建它:

'2012-05-25': [{text: 'item 3 - any js object'},{text: 'any js object'}],

这样每个日期可以有很多用户。希望这是有道理的。

感谢您的帮助。

最佳答案

传递给 forEach 的函数表达式的第一行是:

newItems = {[val.date]:[]};

这会将 newItems 对象重置为具有一对日期:名称的对象。你真的想要更多类似的东西:

newItems[val.date]?newItems[val.date].push({name:val.full_name}):newItems[val.date]=[];

关于javascript - 如何在 Javascript 中创建数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44466050/

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