Сортировка ответов API без сохранения данных с использованием JavaScript - PullRequest
1 голос
/ 26 мая 2020

Я использую приведенный ниже код для вызова GET API, а затем сортирую ответ с одним из объектов, перечисленных внутри. Мне сказали сначала преобразовать ответ в ARRAY, а затем применить функцию сортировки, но это кажется трудным, и мне не хватает чего-то для сортировки сгенерированного массива. Пожалуйста, помогите мне, я пытался много дней.

Мой код:

url2 = "https://SampleAPI";

function fetchdata(){
  fetch(url2)
    .then(response=>{
    return response.json();
  })
  .then(data=> {
    console.log(data.data) // Getting the "Unsroted Response" Here
  })
  };
  fetchdata(); //

const sortedResponse = ListModels.sort(function(a, b) { return parseInt(a.associateId) - parseInt(b.associateId) });
console.log("SORTED: ", sortedResponse) // Using to SORT THE RESPONSE WITH "associateId"

Ответ API для вышеперечисленных JS Код:

{
ListModels:(4) [
{
searchRank:0,
firstName:"Micheal",
lastName:"Brook",
associateId:"40",
payRateType:"Cost-only",
doctorStatus:null,
contractStartDate:"0001-01-01T00:00:00"
},
{
searchRank:0,
firstName:"Travis",
lastName:"Mayn",
associateId:"20",
payRateType:"Samp-only",
doctorStatus:null,
contractStartDate:"0001-01-01T00:00:00"
},
{
searchRank:0,
firstName:"Berry",
lastName:"Brooks",
associateId:"43",
payRateType:"Samp-only",
doctorStatus:null,
contractStartDate:"0001-01-01T00:00:00"
},
{
searchRank:0,
firstName:"Kim",
lastName:"Reed",
associateId:"25",
payRateType:"Samp-only",
doctorStatus:null,
contractStartDate:"0001-01-01T00:00:00"
}
],
totalRecord:4
}

Я хочу СОРТИРОВАТЬ вышеуказанный ответ API с помощью «associateId», но с моей строкой сортировки, Я получаю ошибку. Пожалуйста, помогите мне, мне сказали нажать на конечную точку API и отсортировать, не сохраняя ответ в CODE.

Ошибка:

> error: Uncaught ReferenceError: ListModels is not defined

1 Ответ

0 голосов
/ 26 мая 2020

Вы должны переместить сортировку внутри обработчика ответа:

url2 = "https://SampleAPI";

function fetchdata(){
  fetch(url2)
    .then(response=>{
    return response.json();
  })
  .then(data=> {
    console.log(data.data) // Getting the "Unsroted Response" Here
    const list = data.data;
    const sortedResponse = list.sort(function(a, b) { return parseInt(a.associateId) - parseInt(b.associateId) });
    console.log("SORTED: ", sortedResponse) // Using to SORT THE RESPONSE WITH "associateId"  })
  };
  fetchdata(); //

Операции сразу после fetchdata выполняются до того, как ответ придет с сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...