Linting错误:将此数组“sort”操作移动到单独的语句中

问题描述 投票:2回答:2

你可以帮助修复下面的javascript函数的linting错误。

错误:将此数组“排序”操作移动到单独的语句。

  item.EmployeeDetails = item.EmployeeDetails
                            .sort((a: IEmployeeDetails, b: IEmployeeDetails) => {
        if (a.employeeType < b.employeeType) {
            return 1;
        }
        if (a.employeeType > b.employeeType) {
            return -1;
        }
        return 0;
    });
angular lint
2个回答
0
投票
const empDetail = Object.assign(item, {});

 return empDetail['EmployeeDetails '].sort( (a: any , b: any) => {
    if (a.employeeType < b.employeeType) {
      return 1;
    }
    if (a.employeeType > b.employeeType) {
      return -1;
    }
    return 0;
  });

}


0
投票

sort()改变了数组。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype#Mutator_methods

所以,尝试省略赋值运算符:

item.EmployeeDetails.sort((a: IEmployeeDetails, b: IEmployeeDetails) => {
    if (a.employeeType < b.employeeType) {
        return 1;
    }
    if (a.employeeType > b.employeeType) {
        return -1;
    }
    return 0;
});
© www.soinside.com 2019 - 2024. All rights reserved.