lodash 重构过滤函数
lodash refactor filter function
我有以下代码,两个组件都使用 lodash 过滤器,我如何抽象函数以免重复代码?
<VictoryScatter
style={{
data: { fill: BRAND_COLORS.white, stroke: BRAND_COLORS.chartLine.gradientGrayStart, strokeWidth: 3 },
}}
size={5}
data={_.filter(loanLimitData, (value, key) => {
return key !== 0 && key !== 6;
})}
/>
<VictoryScatter
style={{
data: { fill: BRAND_COLORS.white, stroke: BRAND_COLORS.chartLine.gradientBlueStart, strokeWidth: 3 },
}}
size={5}
data={_.filter(loanBalanceData, (value, key) => {
return key !== 0 && key !== 6;
})}
/>
所以,我需要为
写一个函数
_.filter(myArray, (value, key) => {
return key !== 0 && key !== 6;
})
直接把数组作为参数:
const myFilter = <T extends any>(array: T[]): T[] =>
_.filter(array, (_, key) => {
return key !== 0 && key !== 6;
})
仅供参考,您可以使用内置 Array.prototype.filter
方法执行相同操作:
const myFilter = <T extends any>(array: T[]): T[] =>
array.filter((_, key) => {
return key !== 0 && key !== 6;
})
在您要编写的组件中:
data={myFilter(loanLimitData)}
data={myFilter(loanBalanceData)}
我有以下代码,两个组件都使用 lodash 过滤器,我如何抽象函数以免重复代码?
<VictoryScatter
style={{
data: { fill: BRAND_COLORS.white, stroke: BRAND_COLORS.chartLine.gradientGrayStart, strokeWidth: 3 },
}}
size={5}
data={_.filter(loanLimitData, (value, key) => {
return key !== 0 && key !== 6;
})}
/>
<VictoryScatter
style={{
data: { fill: BRAND_COLORS.white, stroke: BRAND_COLORS.chartLine.gradientBlueStart, strokeWidth: 3 },
}}
size={5}
data={_.filter(loanBalanceData, (value, key) => {
return key !== 0 && key !== 6;
})}
/>
所以,我需要为
写一个函数_.filter(myArray, (value, key) => {
return key !== 0 && key !== 6;
})
直接把数组作为参数:
const myFilter = <T extends any>(array: T[]): T[] =>
_.filter(array, (_, key) => {
return key !== 0 && key !== 6;
})
仅供参考,您可以使用内置 Array.prototype.filter
方法执行相同操作:
const myFilter = <T extends any>(array: T[]): T[] =>
array.filter((_, key) => {
return key !== 0 && key !== 6;
})
在您要编写的组件中:
data={myFilter(loanLimitData)}
data={myFilter(loanBalanceData)}