gpt4 book ai didi

JavaScript:我们如何将数组插入数组?

转载 作者:行者123 更新时间:2023-11-28 17:31:50 25 4
gpt4 key购买 nike

我面临一个小需求的问题。我想使用 JavaScript for 循环创建以下格式的 JSON 数组。

var payloadTest = {
"people": [{
"pic": "sap-icon://employee",
"name": "Ravi",
"role": "team member",
"appointments": [{
"start": new Date("2017", "0", "21", "0", "0"),
"end": new Date("2017", "0", "21", "23", "59"),
"title": "Meet John Miller"
}, {
start: new Date("2017", "0", "18", "0", "0"),
end: new Date("2017", "0", "18", "23", "59"),
title: "Team meeting",
}]
]
}
};

我尝试使用以下代码使用 for 循环。但它不起作用。

var itemsArr = [];
var headArr = [];
for (var i = 0; i < resultSet.length; i++) {
var obj = {};
var itm={};
itm.pic="sap-icon://employee";
itm.name=resultSet[i].Rowlabel;
itm.role=resultSet[i].RowId;
headArr.push(itm);

obj.start=resultSet[i].Begda;
obj.end=resultSet[i].Endda;
obj.title=resultSet[i].RowId;
obj.type="Type02";
obj.tentative=false;
itemsArr.push(obj);
//headArr.push(itemsArr);
}
payloadTest.people = headArr;
payloadTest.people.appointments = itemsArr;

有人可以帮我使用上述 JSON 格式的 for 循环创建一个数组吗?

注意::约会数组计数可能会根据来自后端的结果而增加

最佳答案

在:

payloadTest.people.appointments = itemsArr;

您正在尝试将约会数组分配为人员数组的属性。相反,您应该将其指定为一个(或每个?)个人的属性(property)。

所以你可以这样做:

payloadTest.people[0].appointments = itemsArr;

但这只会给其中一个人提供一系列约会。从您的代码中不清楚您是否希望每个人都拥有对同一约会数组的引用(或副本),一个人拥有它,或者您是否认为正在为每个人创建单独的数组。要执行后面的操作,您需要一个嵌套循环。

更新

您可能希望将 itemsArr 的声明/初始化移到循环内,以便每个人都有自己的数组(否则,对一个人的约会数组的修改将会影响到每个人的数组)。

然后,您可能希望使用唯一的测试数组来初始化它们 - 即一个嵌套循环(例如从 0 到 i 的 j),为每个人创建逐渐增大的约会列表。但由于它只是您创建的测试数据,因此其中的内容完全取决于您。

关于JavaScript:我们如何将数组插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50186764/

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