Я работаю с Dungeons & Dragons 5e API и хочу, чтобы конкретный результат обрабатывался особым образом.Пользователь может выбрать то, что искать, из ряда вариантов, и только в одном из них мне нужно будет позаботиться об ответе по-другому.В этом варианте я получаю ответ в JSON, который содержит поле «имя», в котором хранится строка, но в данном конкретном случае эта строка поставляется с аббревиатурой, и я хотел бы преобразовать ее в полное имя.боюсь просто поместить оператор am 'if' в середину кода и работать с ситуацией неэффективно, тем более, что я не нашел подобных ситуаций, чтобы иметь какую-либо ссылку.
Это часть результатаAPI, который я хочу обработать особым образом:
{"count":6,
"results":[
{"name":"STR",
"url":"http://www.dnd5eapi.co/api/ability-score/1"},
{"name":"DEX",
"url":"http://www.dnd5eapi.co/api/ability-scores2"},
....
]
}
Вот как я обрабатываю ответ:
fetch(fullAPIURL)
.then(result => result.json())
.then(data => {
let resultContainer = document.getElementById('resultContainer');
//Cleaning the result container from previous results
document.querySelectorAll('#resultContainer article').forEach(container =>
resultContainer.removeChild(container));
spanSearchResult.classList.remove('invisible', 'searchFail');
spanSearchResult.classList.add('searchSucess');
spanSearchResult.innerHTML = `Search returned ${data.count} results`;
for (element of data.results) {
let containerTitle = element.name != undefined ? element.name : element.class;
resultContainer.appendChild(createResultContainer(containerTitle));
}
})
.catch(err => {
spanSearchResult.classList.remove('invisible');
spanSearchResult.classList.add('searchFail');
spanSearchResult.innerHTML = 'Something went wrong! Details in the console';
console.log(err);
});
Действительно ли условие в этом фрагменте кода является наиболее эффективнымспособ решить эту ситуацию?
Заранее спасибо.