【发布时间】:2018-01-24 06:15:50
【问题描述】:
这听起来可能已经得到解答,但我在 StackOverflow 上尝试了很多解决方案。没有一个能解决我的问题。我有一个复杂的嵌套数组和数据集,其中包含更多嵌套的子集或列表。我想将它们合并和/或找到一种方法来按特定键对重复项进行计数和排序。这是我拥有的真实数据: 编辑
var arr =[
{
"Brand 1":[
{
"NAME":"SHIRT",
"SIZE":"M"
},
{
"NAME":"PANTS",
"SIZE":"L"
}
],
"Brand 2":[
{
"NAME":"JEANS",
"SIZE":"S"
},
{
"NAME":"TROUSER",
"SIZE":"S"
},
{
"NAME":"TROUSERS",
"SIZE":"L"
}
],
"Brand 3":[
{
"SIZE":"L",
"NAME":"JEANS"
}
]
},
{
"Brand x":[
{
"NAME":"SNEAKERS",
"SIZE":"M"
}
],
"Brand 2":[
{
"NAME":"BLAZER",
"SIZE":"L"
},
{
"NAME":"FUR COAT",
"SIZE":"L"
}
],
"Brand 1":[
{
"SIZE":"XL",
"NAME":"BLAZER"
}
]
}
]
子集的数量不固定。如您所见,这是一个复杂的数组,现有的解决方案不会超过 2 个级别或 1 个维度。期望的输出: 编辑
var arr = [
{
"Brand 1":[
{
"NAME":"SHIRT",
"SIZE":"M"
},
{
"NAME":"PANTS",
"SIZE":"L"
},
{
"COUNT":"3"
}
],
"Brand 2":[
{
"NAME":"JEANS",
"SIZE":"S"
},
{
"NAME":"TROUSER",
"SIZE":"S"
},
{
"NAME":"TROUSERS",
"SIZE":"L"
},
{
"COUNT":"5"
}
],
"Brand 3":[
{
"SIZE":"L",
"NAME":"JEANS"
},
{
"COUNT":"3"
}
]
},
{
"Brand x":[
{
"NAME":"SNEAKERS",
"SIZE":"M"
},
{
"COUNT":"1"
}
]
}
]
您能看到每个品牌数组末尾的“COUNT”变量吗?这就是我想要的并根据它对项目进行排序。
我已经在 stackoveflow 上尝试过标准排序解决方案,包括连接、合并和展平。没有合适的解决方案对我有用。 提前感谢您的帮助!
【问题讨论】:
标签: javascript jquery sorting multidimensional-array javascript-objects