for我有一个函数,它接受一个对象作为道具,需要使用循环向它添加数组。我的问题是,它仅在调用时添加单个数组时才有效。如果要添加多个数组,我会收到错误linkLineItems.push is not a function,但我认为.push可以用于将数组添加到对象。
这是功能:
function PrepareSuccessorActivityLinkData(data, existingLinks, linkSetter) {
for (let [key, value] of Object.entries(data)) {
let linkLineItems;
let linkLineItem;
if (data.activitiesafter[0] != "DEFAULT") {
for (var i = 0; i < data.activitiesafter.length; i++) {
linkLineItem = {
source: data.itemname,
target: data.activitiesafter[i],
type: "activity-activity-after"
};
if (!linkLineItems) {
linkLineItems = linkLineItem;
} else {
linkLineItems.push(linkLineItem);
}
}
} else {
continue;
}
return linkSetter(linkData => [...existingLinks, linkLineItems]);
}
}
有关如何将多个数组添加到对象的任何帮助?
existingLinks编辑#1:我尝试向其中添加项目的 or 对象的示例数据
var linksData = [
{"source": "Do Something", "target": "My Document", "type": "Activity Output"},
{"source": "My Document", "target": "Operator", "type": "Object Responsible"},
{"source": "Operator", "target": "Do Something", "type": "Role Activity"}
];
编辑#2:传递给函数的样本数据为data
[{
itemname: "Hello World",
itemtype: "activity",
activitiesafter: ["Do Stuff", "Do Other Stuff"]
}]
阿波罗的战车
交互式爱情
相关分类