你能不能用下面的javascript函数帮助修复掉毛错误。
错误:将此数组“排序”操作移至单独的语句。
  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;
    });
Run Code Online (Sandbox Code Playgroud)
    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;
});
Run Code Online (Sandbox Code Playgroud)
        为了解决这个问题,您必须在排序之前复制原始数组。这是因为使用 .sort() 进行排序会改变原始数组。您可以在此处阅读有关此 linting 错误的更多信息:https ://rules.sonarsource.com/typescript/RSPEC-4043
const sortedEmployeeDetails = [...item.EmployeeDetails]
                                .sort((a: IEmployeeDetails, b: IEmployeeDetails) => {
            if (a.employeeType < b.employeeType) {
                return 1;
            }
            if (a.employeeType > b.employeeType) {
                return -1;
            }
            return 0;
        });
Run Code Online (Sandbox Code Playgroud)
        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;
  });
Run Code Online (Sandbox Code Playgroud)
}
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           6646 次  |  
        
|   最近记录:  |