我有一个CRA应用程序,由于某种原因,它试图进行排序,但它不会调用名为sortModel的帮助函数:
let rankingCommercial =
{
'Actual':1,
'Projected':2,
'Proforma':3
}
let rankingAgribusiness =
{
'Historical':1,
'Actual':2,
'Projected':3,
'Proforma':4
}
export default function sortModel(item1,item2)
{
console.log('start sort function')
if (item1.model ==='Commercial' && item2.model ==='Commercial') {
if (rankingCommercial[item1.type]> rankingCommercial[item2.type])
{
return 1;
}
else{
return -1;
}
}
if (item1.model ==='Agribusiness' && item2.model ==='Agribusiness' ){
if (rankingAgribusiness[item1.rank]> rankingAgribusiness[item2.rank])
{
return 1;
}
else{
return -1;
}
}
}
app.js看起来像这样:
import help from './sortHelper.js'
...
let result = myData.sort(help.sortModel)
看起来不叫排序吗?我在做什么错了?
答案 0 :(得分:1)
由于您使用导出默认设置,因此只需致电
let result = myData.sort(help)
答案 1 :(得分:1)
在app.js中,您正在呼叫
let result = myData.sort(help.sortModel)
并从help
导入'./sortHelper.js'
,但是,在您的排序模型脚本中,您将sortModel导出为默认值,因此,当您导入help
时,help
成为sortModel函数的别名,即sortModel不是help的嵌套属性,而是help本身。
如果要将sortModel作为嵌套属性访问,请在您的sortModel脚本中,而不是:
export default function sortModel(item1,item2)
{
// your sort function code here
}
您将改为:
export default helpFunctions = {
sortModel: (item1, item1) {
// your sort function code here
}
}
,然后在以import help from './sortHelper.js'
格式导入app.js时,您可以通过help.sortModel