所以我有一个对象数组,我想用于我的服务器,每个对象具有相同数量的键。
以下是该阵列的简化版本:
[{
"BTQ": 1,
"COLLIC": "Foo1",
"MMC": "Bar1",
"PTURE": 39,
"STOCK": 6,
},
{
"BTQ": 1,
"COLLIC": "Foo1",
"MMC": "Bar2"",
"PTURE": 31,
"STOCK": 2,
},
{
"BTQ": 2,
"COLLIC": "Something1",
"MMC": "AnotherThing1",
"PTURE": 40,
"STOCK": 5,
},
{
"BTQ": 2,
"COLLIC": "Something1",
"MMC": "AnotherThing1",
"PTURE": 11,
"STOCK": 7,
}]

我想构建一个循环遍历所有这些对象的函数,并构建另一个看起来像这样的JSON数组:
[
{
"BTQ": 1,
"COLLICs": {
"Foo1": {
"Bar1": {
"Stock": 6,
"PTURE" {"39": 6}
},
"Bar2": {
"Stock": 2,
"PTURE": {"31": 2,}
}
}
}
},
{
"BTQ": 2,
"COLLICs": {
"Something1": {
"AnotherThing1": {
"Stock": 12,
"PTURE": {"40": 5, "11": 7}
}
}
}
},
//etc ...
]

我正在使用NodeJS,我发现我需要构建一个像这样的函数:
function step(i){
if (i < raw.length){
data.push(raw[i].A);
step(i + 1);
} else {
console.log("Finished");
console.log(data);
}
}
&#13;
但问题是我不知道如何嵌套这个功能...... 这是我最终想要实现的目标:
1)循环遍历原始数组中的每个对象(使用上面的函数完成)
2)对于每个对象,遍历数据(排序的数组)并查看其中的任何对象是否具有相同的&#34; BTQ&#34;值,如果是这样:进入对象,看看raw[i].COLLIC
是否存在data[j].COOLLICs
&#39;键。如果存在,查看MMC是否存在,ETC ...如果任何值不存在,则创建一个存储所有信息的新键/对象,然后使用以下原始对象重新开始。
可能不是很清楚,我很抱歉,如果它可以提供帮助,我已经构建了相同的算法但是使用for循环,我可以将它粘贴在这里,如果它可以帮助使事情更清楚。
我真的希望你能帮助我,因为我对此感到失望...... 谢谢 !阿里