javascript - jQuery解析JSON问题/按字母顺序对<option>进行排序

标签 javascript html jquery

这是我正在使用的网站:https://pumpkinchugger.github.io/rona20.live/如果您查看国家/地区选择列表,则某些国家/地区会被多次列出,如果单击它们,则会产生意外结果。这是我从以下国家/地区获取的数据:https://cov19.cc/report.json这是我填充选择菜单的方式:

// fill country data menu
var fillCountryMenu = async() => {
  // get report data
  var url = 'https://cov19.cc/report.json?v=' + Math.random();
  try {
    var res = await fetch(url);
    var report = await res.json();
  } catch (err) {
    console.log(err)
  }

  // fill select menu with countries
  var world_list = report.regions.world.list;
  for(var i in world_list){
    var countryObject = world_list[i];
    var x = JSON.stringify(countryObject.country);
    x = x.replace(/^"|"$/g, '');
    var o = new Option(x, i);
    $(o).html(x);
    $("select").append(o);
  }

  // fill default selected country info
  getCountryInfo();
}


我该怎么做才能阻止重复出现的国家显示并仅显示具有所需信息的国家?另外,如何将这些选项按字母顺序排序?他们现在都不合适。谢谢

最佳答案

使用排序功能呢?

var world_list = report.regions.world.list.sort(function(a, b) {
    return (a.country.toUpperCase() < b.country.toUpperCase()) ? -1 : (a.country.toUpperCase() > b.country.toUpperCase()) ? 1 : 0;
});

关于javascript - jQuery解析JSON问题/按字母顺序对<option>进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62208527/

相关文章:

javascript - 在容器中仅显示 8 行文本

javascript - 如何在滚动列表中选择可见元素

html - 包含不同大小的圆的css正方形表

html - iOS UIWebView 为 html 页面设置语言

javascript - 如何用Javascript进行实时计数?

jquery - 检查是否单击了两个元素之一

javascript - 圆 Angular <select> 下拉

javascript - 如何使用HTML5、JavaScript和CSS制作epub控件?

javascript - 如何在 React js 16 中编写纯 javascript?或者我们如何在 React 中使用 document.getElementByClassName?

javascript - 为什么是 $ ('[tabindex="1"]' ).focus();关注 tabindex ="2"?