我有一些条目,这些条目有一个分配给它们的类别,并且每个条目都有一个数值;
{
category: "cat1",
value: -100
}
这是我的条目^。我运行 Loadash GroupBy 对所有类别进行分组。
const groups = _.groupBy(dataSource, (entry) => entry.category);
这里的代码片段返回如下:
{
"cat1": [
{
category: "cat1",
value: -100
},
{
category: "cat1",
value: +10
},
],
"cat2": [
{
category: "cat2",
value: -100
},
{
category: "cat2",
value: +40
},
//and so on...
}
键是类别名称。对象是相关条目。
我需要运行一个带有嵌入式Reduce的连续Map,通过每个条目值的总和将数组减少为整数。
const categoryValues = _.map(groups, (element) => {
return {
categoryName: ???????,
//*I DONT KNOW WHAT GOES HERE ^,
//I NEED THE NAME OF THE CATEGORY TO BE HERE*
categoryValue: _.reduce(element,(acc, el) => el.value,0),
};
});
那是因为我的图形 api 需要他的数据集数组由像这样的对象组成:
{
"categoryName": "cat1", //*THIS IS MISSING*
"categoryValue": 999
}
如何访问每个数组的键名?我需要知道类别是如何命名的,以便图表显示其名称。
问号处需要写什么?
最佳答案
您可以从回调函数的第二个参数中获取类别的名称。此回调函数由 lodash
库调用,当它调用 map
函数时,有 3 个参数(值、键、集合)。 map
const categoryValues = _.map(groups, (element, name) => {
return {
categoryName: name, //I DONT KNOW WHAT GOES HERE, I NEED THE NAME OF THE CATEGORY TO BE HERE*
categoryValue: _.reduce(element, (acc, el) => el.value, 0),
};
});
关于javascript - 获取对象数组中 javascript 对象的键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66936782/