我在
jSon
中有以下数据格式:
[
{
"id": 648302,
"newArrGroups": [
{
"groupId": 660,
"newArrGroups": []
}
]
},
{
"id": 648301,
"newArrGroups": [
{
"groupId": 660,
"newArrGroups": []
}
]
}
]
这就是我使用
for loop
添加数据的方法:
const result: any = [];
for (let i = 0; i < this.items.length; i++) { //item is an array with the id element
result.push({ id: this.items[i]?.id, newArrGroups: this.userPermissionsGroups });
}
它的作用是迭代 items 数组中的每个元素,并将该组添加到 items 数组的每个元素,作为数据样本中显示的新数组。没有关系,因此如果存在任何现有组,则会将其添加到 items 数组的每个元素中。我试图以更好的方式做到这一点,用
map
说。是否有可能而不是如下所示的for loop
(我知道,这会生成不同的结果集)?
function addArrayToEachElement(originalArray: number[], arrayToAdd: number[]): number[][] {
return originalArray.map(element => [element].concat(arrayToAdd));
}
由于缺乏输入数据,我不得不对其进行逆向工程。 使用
map()
转换数据:
const userPermissionsGroups = [
{
groupId: 660,
newArrGroups: []
}
];
const items = [
{id: 648302},
{id: 648301}
];
const newItems = items.map(item => {
return {
id: item.id,
newArrGroups: userPermissionsGroups
};
});
console.log(JSON.stringify(newItems, undefined, 2));