JavaScript中操作数组和对象的数据
我希望通过某种程度上转换值来对对象/数组执行一些数据操作。其中,行的值变为列。作为一个例子,我有如下的原始数据JavaScript中操作数组和对象的数据,javascript,Javascript,我希望通过某种程度上转换值来对对象/数组执行一些数据操作。其中,行的值变为列。作为一个例子,我有如下的原始数据 [ { “团队”:“D PG”, “原始尺寸”194, “月”:“一月” }, {“团队”:“D PP”, “原始尺寸”143, “月”:“一月” }, { “团队”:“D RE”, “原始尺寸”19, “月”:“一月” }, { “团队”:“D GP”, “原始尺寸”3, “月”:“一月” }, { “团队”:“D PC”, “原始尺寸”2, “月”:“一月” }, { “团队”:
[
{
“团队”:“D PG”,
“原始尺寸”194,
“月”:“一月”
},
{“团队”:“D PP”,
“原始尺寸”143,
“月”:“一月”
},
{
“团队”:“D RE”,
“原始尺寸”19,
“月”:“一月”
},
{
“团队”:“D GP”,
“原始尺寸”3,
“月”:“一月”
},
{
“团队”:“D PC”,
“原始尺寸”2,
“月”:“一月”
},
{
“团队”:“D PT”,
“原始尺寸”2,
“月”:“一月”
},
{
“团队”:“D PG”,
“原始尺寸”35,
“月”:“二月”
},
{
“团队”:“D PP”,
“原始尺寸”120,
“月”:“二月”
},
{
“团队”:“D RE”,
“原始尺寸”40,
“月”:“二月”
},
{
“团队”:“D GP”,
“原始尺寸”30,
“月”:“二月”
},
{
“团队”:“D PC”,
“原始尺寸”9,
“月”:“二月”
},
{
“团队”:“D PT”,
“原始尺寸”6,
“月”:“二月”
}
]
像往常一样,只需使用哈希表即可简化:
const result = [], month = {};
// I did not want to put that identifier everywhere... :/
const wtf = "Original_x0020_Size_x0020__x0028";
for(const entry of data){
if(month[entry.Month]){
month[entry.Month].push(entry[wtf]);
} else {
result.push(month[entry.Month] = [entry.Month, entry[wtf]]);
}
}
为什么要发布一堆无效的样本数据?为什么不包括
二月
月份中的值?当你把每个团队都包括在内时,为什么团队是条件的一部分?为什么期望的结果在大多数月份只有两个0
,而您的分组的每个月都有6个?我真诚的道歉,这个问题是昨晚匆忙提出的,我已经更正了所有的数据。所以基本上我希望数据按月份和团队分组。我的尝试包括按数组中的特定列对团队进行排序,按行对月份进行排序。但这使得代码非常庞大。我希望能得到更有效的指导