【问题标题】:No need duplicate data to me, Please help me in this case: Id's are Duplicated, I need out as mentioned below [closed]不需要重复数据给我,在这种情况下请帮助我:身份证重复,我需要如下所述[关闭]
【发布时间】:2020-11-17 16:08:30
【问题描述】:

请找到以下数据。

no need duplicate data to me, Please help me in this case:
Id's are Duplicated, i need output without duplicates:

Actual Data:
(9) [{…}, {…}, {…}, {…}, {…}, {…}]
    0: {Id: 0, Specialization: "General", Description: "General", IsActive: true},
    1: {Id: 1, Specialization: "General", Description: "General", IsActive: true},
    2: {Id: 2, Specialization: "General", Description: "General", IsActive: true},
    3: {Id: 3, Specialization: "General", Description: "General", IsActive: true},
    4: {Id: 4, Specialization: "General", Description: "General", IsActive: true},
    5: {Id: 1, Specialization: "General", Description: "General", IsActive: true},
    6: {Id: 2, Specialization: "General", Description: "General", IsActive: true},
    7: {Id: 3, Specialization: "General", Description: "General", IsActive: true},
    8: {Id: 4, Specialization: "General", Description: "General", IsActive: true}
    

I need Output Like this below:
(5) [{…}, {…}, {…}, {…}, {…}, {…}]
    0: {Id: 0, Specialization: "General", Description: "General", IsActive: true},
    1: {Id: 1, Specialization: "General", Description: "General", IsActive: true},
    2: {Id: 2, Specialization: "General", Description: "General", IsActive: true},
    3: {Id: 3, Specialization: "General", Description: "General", IsActive: true},
    4: {Id: 4, Specialization: "General", Description: "General", IsActive: true}

我需要如上的输出 我需要如上的输出 我需要如上的输出 我需要如上的输出

【问题讨论】:

标签: javascript html css arrays angular


【解决方案1】:

您可以使用forEach 进行迭代并使用some 检查更新数组是否具有现有Id

const inputData = [ {Id: 0, Specialization: "General", Description: "General", IsActive: true},
    {Id: 1, Specialization: "General", Description: "General", IsActive: true},
    {Id: 2, Specialization: "General", Description: "General", IsActive: true},
    {Id: 3, Specialization: "General", Description: "General", IsActive: true},
    {Id: 4, Specialization: "General", Description: "General", IsActive: true},
    {Id: 1, Specialization: "General", Description: "General", IsActive: true},
    {Id: 2, Specialization: "General", Description: "General", IsActive: true},
    {Id: 3, Specialization: "General", Description: "General", IsActive: true},
    {Id: 4, Specialization: "General", Description: "General", IsActive: true}]

let output = [];
    inputData.forEach(val => {
 var isExist = output.some(data => data.Id === val.Id);
 if(!isExist) output.push(val)
})

console.log(output)

【讨论】:

    【解决方案2】:

    如果您只想按Id 过滤,请使用reduceObject.values

    const output = Object.values(data.reduce((a, { Id, ...o }) => {
      a[Id] = a[Id] || { Id, ...o };
      return a;
    }, {}));
    

    const data = [{Id:0,Specialization:"General",Description:"General",IsActive:true},{Id:1,Specialization:"General",Description:"General",IsActive:true},{Id:2,Specialization:"General",Description:"General",IsActive:true},{Id:3,Specialization:"General",Description:"General",IsActive:true},{Id:4,Specialization:"General",Description:"General",IsActive:true},{Id:1,Specialization:"General",Description:"General",IsActive:true},{Id:2,Specialization:"General",Description:"General",IsActive:true},{Id:3,Specialization:"General",Description:"General",IsActive:true},{Id:4,Specialization:"General",Description:"General",IsActive:true}];
    
    const output = Object.values(data.reduce((a, { Id, ...o }) => {
      a[Id] = a[Id] || { Id, ...o };
      return a;
    }, {}));
    
    console.log(output);
    .as-console-wrapper { max-height: 100% !important; top: auto; }

    【讨论】:

      【解决方案3】:

      使用下面的代码:

      let uniqueArray= Array.from(duplicateArray.reduce((m, t) => m.set(t.Id, t), new Map()).values());
      console.log(uniqueArray);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-06
        • 1970-01-01
        • 2016-06-06
        • 1970-01-01
        • 1970-01-01
        • 2021-03-19
        • 2017-09-11
        相关资源
        最近更新 更多