【发布时间】:2019-09-18 15:46:30
【问题描述】:
我有这个按缺陷(字符串)对数组进行排序的函数,但是,我想遍历计数(数字)。
getCount() {
let arr = this.state.rows
let arr2 = arr.filter(qc => qc.BinsByDayByOrchardsQCs.length > 0).map((qc) =>
qc.BinsByDayByOrchardsQCs.map((qc2) =>
qc2.BinsByDayByOrchardsQCsDefects.map((qc3) => qc3).sort((a, b)
=> a.Defect < b.Defect ? -1 : a.Defect > b.Defect ? 1: 0)));
return arr2
};
这个函数返回
0: {BinsByDayByOrchardsQCsID: "-LbiHz7tuuJH71I_4IKw", Defect: "Bruise", Count: 2, BinsByDayByOrchardsQCs: null}
1: {BinsByDayByOrchardsQCsID: "-LbiHz7tuuJH71I_4IKw", Defect: "Hail damage", Count: 0, BinsByDayByOrchardsQCs: null}
2: {BinsByDayByOrchardsQCsID: "-LbiHz7tuuJH71I_4IKw", Defect: "Scuff", Count: 2, BinsByDayByOrchardsQCs: null}
3: {BinsByDayByOrchardsQCsID: "-LbiHz7tuuJH71I_4IKw", Defect: "Sunburn", Count: 1, BinsByDayByOrchardsQCs: null}
我的数组已排序,但是在我的原始函数中,我想遍历 Count,而不是整个对象。
它看起来像这样..
qc2.BinsByDayByOrchardsQCsDefects.map((qc3) => qc3.Count).sort((a, b)
=> a.Defect < b.Defect ? -1 : a.Defect > b.Defect ? 1: 0)));
但我目前收到“类型‘数字’上不存在属性‘缺陷’
还应该注意的是,我将 TypeScript 与 React 一起使用
我的界面BinsByDayByOrchardsQCs: { BinsByDayByOrchardsQCsDefects: { Defect: string, Count: number }[] }[]
【问题讨论】:
-
您希望您的
getCount函数在进行您计划的更改之后返回什么? -
我希望它返回计数,但按缺陷排序
标签: javascript arrays reactjs typescript sorting