Ошибка Linting: перенести операцию массива "sort" в отдельный оператор - PullRequest
0 голосов
/ 02 октября 2018

Не могли бы вы помочь исправить ошибку linting с помощью приведенной ниже функции javascript.

Ошибка: перенести операцию массива "sort" в отдельный оператор.

  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;
    });

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

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;
});
0 голосов
/ 02 октября 2018
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;
  });

}

...