如何查找此数组是否有重复的对象,其中有另一个数组

萨罗伊·雷格米

无论ID如何,我都需要知道重复的数据。

这是数组:-

const myArray = [
  {id: "sjdh1", userName: "user 1"  , Message: ["try","test","test"]},
  {id: "sjdh2", userName: "user 2"  , Message: ["test","try","test"]},
  {id: "sjdh3", userName: "user 3"  , Message: ["test"]}, 
  {id: "sjdh4", userName: "user 1"  , Message: ["dummy"]},
  {id: "sjdh5", userName: "user 1"  , Message: ["try","test","test"]},
]

我想删除重复的数据。id没关系

预期的结果是:-

const myArray = [
  {id: "sjdh1", userName: "user 1"  , Message: ["try","test","test"]},
  {id: "sjdh2", userName: "user 2"  , Message: ["test","try","test"]},
  {id: "sjdh3", userName: "user 3"  , Message: ["test"]}, 
  {id: "sjdh4", userName: "user 1"  , Message: ["dummy"]}, 
]

如果UserName和Message数组完全相同,则删除值如果Message数组不同,则删除该值,则不应将该对象视为重复的对象:

因此,我尝试使用set方法,但是我发现它不起作用,因为myArray包含该对象。

然后我用谷歌搜索了问题并得到了解决方案,但是它对我没有用:-

 const uniqueValues = new Set(array.map(v => v.name));

它给了我唯一的价值

阿比舍克·库马尔(Abhishek Kumar)

现在就足够了:

const myArray = [
    {id: "sjdh1", userName: "user 1"  , Message: ["try","test","test"]},
    {id: "sjdh2", userName: "user 2"  , Message: ["test","try","test"]},
    {id: "sjdh3", userName: "user 3"  , Message: ["test"]}, 
    {id: "sjdh4", userName: "user 1"  , Message: ["dummy"]},
    {id: "sjdh5", userName: "user 1"  , Message: ["try","test","test"]},
  ]
function unique(){
    const uniqueKeys = ['userName','Message'];
    const keys = ['id'];
    const uniqueObj = {}
    myArray.forEach((arrObj)=>{
        const strKey = {};
        const strObj = {};
        uniqueKeys.forEach((k)=>{
            strKey[k] = arrObj[k]
        });
        keys.forEach((key)=>{
            strObj[key] = arrObj[key];
        })
        if(!uniqueObj[JSON.stringify(strKey)])
            uniqueObj[JSON.stringify(strKey)] = strObj;
    });
    const output = Object.keys(uniqueObj).map((key)=>{
        return {
            ...uniqueObj[key],
            ...JSON.parse(key)
        }
    })
    console.log(output);
}

unique();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

即使在对象中有另一个数组,如何获取数组键名?

如何过滤对象数组,其中对象内的数组包含另一个数组中的所有项目?

如何检查数组的所有对象是否包含另一个数组?

通过具有重复键的另一个数组过滤对象数组

Python:在另一个数组(包括重复数组)中查找数组所有元素的索引

过滤对象数组,其中一个对象的数组与另一个数组至少有一个匹配项

如何基于另一个数组元素更新数组的所有对象

如何确定一个数组是否包含另一个数组的所有元素

Javascript返回一个空数组,但其中有两个元素

Python Seleinum 查找特定类的div,如果其中有另一个div,则找到第三个div并复制其中的文本

JS/ES6:检查每个数组元素是否在另一个数组中有一个子元素

如何检查一个数组是否在另一个数组PHP中具有一个接一个的值?

如何在Ruby中查找一个数组是否是另一个数组的子集?

如果有重复,如何相对于另一个数组对数组进行排序?

父 div,有两个孩子,其中有确切的高度,如何给另一个孩子“自由左”空间作为高度

查找另一个数组中一个数组的所有字符串

从数组中检索对象,其中另一个对象与另一个数组匹配

如何检查数组是否包含来自另一个数组之一的所有元素

在TypeScript中将数组项推入另一个数组的现有对象中

从另一个数组向现有对象数组添加新属性

Javascript - 过滤包含具有来自另一个数组的值的数组的对象

检查一个数组中的所有值是否在另一个数组中

检查数组的所有元素是否包含在另一个数组中

检查数组是否包含具有另一个数组的元素的元素

检查数组是否有另一个数组中的元素

是否有将PHP数组复制到另一个数组的功能?

检查另一个数组中的数组是否具有相同的元素

我如何从具有特定ID的数组中获取对象与另一个数组编号进行比较

如何查找另一个数组中不可用的ID的对象