【发布时间】:2019-02-24 05:52:59
【问题描述】:
我正在尝试使用自定义函数对对象数组进行排序。
所以,我定义了我的功能
sortingAlgo = (a, b) => {
// we need to use custom sorting algorithm to meet our requirements.
a.pos = a.pos.toUpperCase();
b.pos = b.pos.toUpperCase();
if(a.pos.slice(0, 1) === b.pos.slice(0, 1)) {
if (parseInt(a.pos.slice(1)) < parseInt(b.pos.slice(1))){
return -1;
}
if (parseInt(a.pos.slice(1)) > parseInt(b.pos.slice(1))){
return 1;
}
return 0;
} else {
if (parseInt(a.pos.slice(0, 1)) < parseInt(b.pos.slice(0, 1))){
return -1;
}
if (parseInt(a.pos.slice(0, 1)) > parseInt(b.pos.slice(0, 1))){
return 1;
}
return 0;
}
}
我这样称呼它。
const sortedProducts = data.data.sort(this.sortingAlgo);
现在我得到了 Eslint 错误提示。
**
- 169:5 错误分配给函数参数“a”的属性 无参数重新分配
- 170:5 错误分配给函数参数“b”的属性 无参数重新分配
**
我搜索了一下,发现这个规则是由airBnB设置的。所以我不认为禁用这条规则是正确的。
那么有人可以告诉我如何解决它,或者禁用此规则是否可以。
【问题讨论】:
标签: javascript reactjs eslint