Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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 如何对AJAX调用返回的数据进行分组?_Javascript_Ajax_Rest - Fatal编程技术网

Javascript 如何对AJAX调用返回的数据进行分组?

Javascript 如何对AJAX调用返回的数据进行分组?,javascript,ajax,rest,Javascript,Ajax,Rest,我在sharepoint中创建了一个收集用户信息的列表。每个条目都有日期。有些日子有很多条目。我的目标是创建一个包含日期的选择菜单。当我单击菜单时,日期会填充,但它们会重复。如何将它们作为单个值返回 我尝试嵌套另一个for循环和一个if语句 $.ajax({ url:url, method:'GET', headers:{ 'Accept': 'application/json; odata=verbose' }, success: function(data){

我在sharepoint中创建了一个收集用户信息的列表。每个条目都有日期。有些日子有很多条目。我的目标是创建一个包含日期的选择菜单。当我单击菜单时,日期会填充,但它们会重复。如何将它们作为单个值返回

我尝试嵌套另一个for循环和一个if语句

$.ajax({
   url:url,
   method:'GET',
   headers:{ 'Accept': 'application/json; odata=verbose' },
   success: function(data){
     var dat = data.d.results;
      for (var i = 0;i < dat.length; i++){
    html+='<optionvalue='+itm.dateVal+'>'+itm.dateVal+'</option>';
       }     $('#week-selector').append(html);
   },
   error: function(e){
    console.log('error:'+e);
   }            
});
我想要得到的输出是:

3/3/2019
3/3/2019
3/3/2019
3/3/2019
3/6/2019
3/6/2019
3/10/2019
3/10/2019
3/3/2019
3/6/2019
3/10/2019

您可以很容易地编写一个过滤器函数来获得不同的值

var-arr=[
"3/3/2019",
"3/3/2019",
"3/3/2019",
"3/3/2019",
"3/6/2019",
"3/6/2019",
"3/10/2019",
"3/10/2019"
];
var distinctDates=arr.filter(函数(val,idx,self){返回self.indexOf(val)==idx;});

控制台日志(distinctDates)var arr=['3/3/2019','3/3/2019','4/4/2019']


arr.filter(函数(项,i){return arr.indexOf(项)==i;})

您可以使用集合删除重复值,然后将其转换回数组:

var arr = [
    "3/3/2019",
    "3/3/2019",
    "3/3/2019",
    "3/3/2019",
    "3/6/2019",
    "3/6/2019",
    "3/10/2019",
    "3/10/2019"
];

console.log(Array.from(new Set(arr)));
// ["3/3/2019", "3/6/2019", "3/10/2019"]```

也许是一个重复的问题: