首页 > 解决方案 > 如何在 JavaScript 中从数组中分离相同的数据

问题描述

我有选择选项,它返回数据数组,所有返回的数据都包含所选选项的名称。我需要从所有人中取出这个名字并只打印一次

逻辑

一

  1. 我选择Project 1
  2. 它返回 4 个结果(在此示例中)
  3. 这4个都包括在内project: Project 1
  4. 我只想得到Project 1一次,以便在我的表头中显示它。

二

代码

$.ajax({
    type:'GET',
    url:'{{url('dashboard/getProjectVisits')}}/'+projectID,
    success:function(data){
        $('.addVisit').hide();
        //return existed data to schedules
        $('#schedule_table2').html('');
        $(data).each(function(_, i){
            var row = `<tr data-id="${i.id}">'+
            '<td>${i.fromDate}</td>'+
            '<td>${i.toDate}</td>'+
            '<td width="150">${i.location}</td>'+
            '<td>${i.description}</td>'+
            '<td width="100">${i.status}</td></tr>'`;
            $('#schedule_table2').append(row);
        });

        //rest of the code
    }
});

我想将它附加到Project 1我的表头中,但我需要先把它从我的循环中取出。知道怎么做吗?

标签: javascript

解决方案


试试这个以获得不同的项目价值:

let arr = [{project:'project1'},{project:'project1'},{project:'project2'}];

const distinctPrj = arr.reduce((res,cur)=>{
  if (!res.includes(cur.project)) res.push(cur.project);
  return res;
},[])

console.log(distinctPrj);

推荐阅读