为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

侃侃尔雅 2021-05-07 10:13:07
我在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/20193/3/20193/3/20193/3/20193/6/20193/6/20193/10/20193/10/2019我想得到的输出是:3/3/20193/6/20193/10/2019
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

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


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"]```


查看完整回答
反对 回复 2021-05-13
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

您可以轻松编写过滤器函数以获取不同的值。


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(function(val, idx, self){ return self.indexOf(val) === idx; });


console.log(distinctDates);

在ES6中,您可以按以下方式进行操作


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 = [...new Set(arr)];


console.log(distinctDates);


查看完整回答
反对 回复 2021-05-13
?
烙印99

TA贡献1829条经验 获得超13个赞

var arr = ['3/3/2019','3/3/2019','4/4/2019']

arr.filter(function(item,i){return arr.indexOf(item)== i;})


查看完整回答
反对 回复 2021-05-13
  • 3 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信