Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery解析JSON问题/按字母顺序排序_Javascript_Html_Jquery - Fatal编程技术网

Javascript JQuery解析JSON问题/按字母顺序排序

Javascript JQuery解析JSON问题/按字母顺序排序,javascript,html,jquery,Javascript,Html,Jquery,这是我正在工作的网站:如果你查看国家选择列表,其中一些国家不止一次被列出,如果你点击它们,就会产生意想不到的结果。这是我从中获取国家的数据:以下是我填充选择菜单的方式: // fill country data menu var fillCountryMenu = async() => { // get report data var url = 'https://cov19.cc/report.json?v=' + Math.random(); try { var r

这是我正在工作的网站:如果你查看国家选择列表,其中一些国家不止一次被列出,如果你点击它们,就会产生意想不到的结果。这是我从中获取国家的数据:以下是我填充选择菜单的方式:

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

我能做些什么来阻止重复出现的国家只显示那些拥有所需信息的国家?此外,如何按字母顺序对这些选项进行排序?它们现在都不合适。谢谢

我认为您的方法应该是先存储具有唯一值的国家的数组,然后对其进行排序


使用sort函数怎么样

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;
});
使用JS集合

var fillCountryMenu=async=>{ //获取报表数据 var url='1〕https://cov19.cc/report.json?v=“+数学随机; 试一试{ var res=等待获取URL; var report=await res.json; }犯错误{ console.logerr } //用国家/地区填充选择菜单 var country_list=report.regions.world.list.mapx=>x.country.replace/^ |$/g、.sort; 常量数据集=新设置国家/地区列表 设i=0; dataSet.keys的forconst项{ $'foo'。追加`${item}` } //填写默认选定国家/地区信息 //获取国家信息; } 填写国家菜单
你曾试图阻止哪些国家的重复?在做了一些研究之后,你发现了什么?一些重复多次的国家是这些国家的州,但并非所有国家都是这样,比如美国。我不确定这是什么原因造成的
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;
});