相关疑难解决方法(0)

从嵌套对象数组中删除重复项并保留其顺序:javascript

我需要从数组中删除重复项而不损害它们的顺序。请考虑这个数据数组

var array = [  { person: { amount: [1,1] } },
{ person: { amount: [1,1] } }, 
{ person: { amount: [2,1] } },
{ person: { amount: [1,2] } },
{ person: { amount: [1,2] } }];
Run Code Online (Sandbox Code Playgroud)

我知道它可以通过使用 new Set([iterable]) 来完成,但不能使用这个数组。如果有人有想法,请帮忙。提前致谢。

javascript arrays

2
推荐指数
1
解决办法
1468
查看次数

获取对象数组中第一个重复项javascript

我从 api 收到以下数据结构:

[
  {
    id: '10000844',
    text_id: '10000844-01',
  },
  {
    id: '10000844',
    text_id: '10000844-02',
  },
  {
    id: '12000844',
    text_id: '12000844-03',
  },
  {
    id: '12000844',
    text_id: '12000844-07',
  },
  {
    id: '12000814',
    text_id: '12000844-07',
  },
 {
    id: '12002812',
    text_id: '12000844-07',
  },
   {
    id: '12000814',
    text_id: '12000844-08',
  },
]
Run Code Online (Sandbox Code Playgroud)

清理代码的完美结果将是这样的结果,基本上只返回第一个找到的 id:

[
      {
        id: '10000844',
        text_id: '10000844-01',
      },
      {
        id: '12000844',
        text_id: '12000844-03',
      },
      {
        id: '12000814',
        text_id: '12000844-07',
      },
     {
        id: '12002812',
        text_id: '12000844-07',
      },
    ]
Run Code Online (Sandbox Code Playgroud)

但目前它仅返回唯一数组中最后找到的重复项,当前代码为:

let uniqueArray = [...new …
Run Code Online (Sandbox Code Playgroud)

javascript arrays dictionary unique object

2
推荐指数
1
解决办法
945
查看次数

删除对象数组中的重复项

可能重复:
从javascript中的对象数组中删除重复项

var arr = [{empID:100,empName:greg},{empID:101,empName:Math},{empID:100,empName:greg}];
var sorted_arr = arr.sort(); // You can define the comparing function here. 
                             // JS by default uses a crappy string compare.
var results = [];
for (var i = 0; i < arr.length - 1; i++) {
    if (sorted_arr[i + 1].empID != sorted_arr[i].empID) {
        results.push(sorted_arr[i]);
    }
}

alert(results);
Run Code Online (Sandbox Code Playgroud)

我有一个对象数组,但是当我尝试删除与ID匹配的重复对象时,它不会被删除.代码有什么问题.

javascript

1
推荐指数
2
解决办法
2万
查看次数

从javascript中的对象数组中删除重复值

我有一个像这样的对象数组:

arr = [
    {label: Alex, value: Ninja},
    {label: Bill, value: Op},
    {label: Cill, value: iopop}
]
Run Code Online (Sandbox Code Playgroud)

这个数组是在渲染我的react组件时组成的.i用户Array.prototype.unshift在我的数组顶部添加所需的元素.所以我写arr.unshift({label: All, value: All}).当我的组件首次渲染时,我的数组成功创建了我想要的.但是当我重新渲染它时,它会向我显示值为{label: All, value: All}重复的数组.更具体地说,它显示如下:

arr = [
    {label: All, value: All},
    {label: All, value: All},
    {label: Alex, value: Ninja},
    {label: Bill, value: Op},
    {label: Cill, value: iopop}
]
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?我在这里尝试了特定主题中描述的方法,但它没有用

javascript arrays duplicates

1
推荐指数
3
解决办法
1万
查看次数

如何从打字稿数组中删除重复项?

你能告诉我如何从类型脚本中的数组中删除重复项吗?

我的阵列看起来像

a = [{a: 1, b: 2}, {a: 1, b: 2}, {c: 3, d: 4}]
Run Code Online (Sandbox Code Playgroud)

我正在寻找

a = [{a: 1, b: 2}, {c: 3, d: 4}]
Run Code Online (Sandbox Code Playgroud)

我使用了如下设置数据结构

a = Array.from(new Set(a))
Run Code Online (Sandbox Code Playgroud)

但还是没有用。请让我知道如何使用单个语句从数组中删除重复项?

javascript arrays

1
推荐指数
1
解决办法
2万
查看次数

使用纯Java脚本或打字稿删除数组中的重复项

我似乎只找到使用其他JS库从数组中删除重复项的方法,但是由于我正在研究Angular项目,因此我希望使用纯JS或Typescript来做到这一点。

我的问题是,我可能会得到一个具有重复条目的数组,例如:

data [0: {Id: 1, Definition: "House"},
      1: {Id: 1, Definition: "House"}]
Run Code Online (Sandbox Code Playgroud)

我想过滤掉它,以便我只得到

data [0: {Id: 1, Definition: "House"}]
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用此方法,但仍会得到重复的条目

let uniqueArray = data.filter(function(item, pos) {
    return data.indexOf(item) == pos;
})
Run Code Online (Sandbox Code Playgroud)

javascript arrays duplicates typescript

0
推荐指数
1
解决办法
3717
查看次数

使用 javascript .filter() 删除重复对象

我正在尝试重构一些代码以使用 javascript 过滤器函数来摆脱具有相同属性的对象。

schemas = schemas.filter((schema, index, newArray) => {
            return index === schemas.findIndex(obj => obj.className == schema.className)
        })
Run Code Online (Sandbox Code Playgroud)

schemas 是一个自定义对象 NameSchema 的数组:

interface NameSchema {
    schemaId: string;
    className: string;
}
Run Code Online (Sandbox Code Playgroud)

我在使用 findIndex 方法时遇到两个问题,编译器抱怨 NameSchema 上不存在 findIndex,并且数组中的许多对象具有相同的属性,但不是相同的对象。

如何使用 Array.filter 函数获取不具有不具有相同类名的对象的对象列表?

编辑

我在这里找到了答案:从 JavaScript 中的对象数组中删除重复项

我的代码最终看起来像这样:

schemas = schemas.filter((schema, index, self) => index === self.findIndex((obj) => (obj.className === schema.className)))
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript

0
推荐指数
1
解决办法
1760
查看次数