我找不到可以帮助我的方法。 我有一个包含特定类别名称的支出列表和一个包含颜色的类别列表。 我在react应用程序中使用react-chartjs-2和chartjs。 我的问题是,尽管验证了费用顺序,但我通过验证consumer.category和category.name之间的匹配而创建的数组返回了相同的值顺序。 例如,如果函数返回2费用,则第一个顺序为:
费用1,费用2,
费用价值1,费用价值2,
费用颜色1,费用颜色2,
但是当我应用过滤器(例如按金额)并且顺序更改时,例如:
费用2,费用1,
费用价值2,费用价值1,
费用1的颜色,费用2的颜色...颜色不会改变顺序。
const labels = props.expenses.map((expense) => capitalize(expense.category));
const amounts = props.expenses.map((expense) => expense.amount/100 );
let colors = [];
props.expensesCategories.filter((category) => {
labels.filter((label) => {
label.toLowerCase() === category.name.toLowerCase() ? colors.unshift(category.color) : '#000'
})
});
此数据用于图表js的数据对象:
const data = {
labels: labels,
datasets: [{
data: amounts,
backgroundColor: colors
}]
};
我尝试了map,filter,forEach并尝试了push,unshift的colors数组。
如果您知道如何解决此问题,请告诉我。非常感谢