javascript - 两个对象数组的 typescript 差异

标签 javascript typescript

我有两个对象数组,想要找到第二个数组中缺少但属于第一个数组的一部分的项目,基本上是 array1-array2。我尝试使用过滤器,但无法获得所需的结果。请帮忙。提前致谢。

这是代码:

 testData=[
       {id: 0, name: "policy001"},
       {id: 2, name: "policy002"}];
       sourceData= [
          {id: 0, name: "policy001"},
          {id: 2, name: "policy002"},
          {id: 3, name: "policy003"},
          {id: 4, name: "policy004"},
          {id: 5, name: "policy005"}, 
      ];

      let missing = sourceData.filter(item =>  testData.indexOf(item) < 0);
      console.log("Miss")
      console.log(missing )//Returns the sourceData instead of diff.

最佳答案

尝试findIndex() :

The findIndex() method returns the index of the first element in the array that satisfies the provided testing function. Otherwise, it returns -1, indicating that no element passed the test.

testData = [{
        id: 0,
        name: "policy001"
    },
    {
        id: 2,
        name: "policy002"
    }
];
sourceData = [{
        id: 0,
        name: "policy001"
    },
    {
        id: 2,
        name: "policy002"
    },
    {
        id: 3,
        name: "policy003"
    },
    {
        id: 4,
        name: "policy004"
    },
    {
        id: 5,
        name: "policy005"
    },
];

console.log(sourceData.filter(item => testData.findIndex(x => x.id == item.id) < 0))

关于javascript - 两个对象数组的 typescript 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071815/

相关文章:

typescript - 如何在 typescript 元组中使用扩展运算符?

javascript - 将构造函数签名传播到工厂方法

typescript - 是否可以循环遍历一个接口(interface)中的所有对象来获取键和值?

javascript - 带有 React js 的背景图像 - 不显示全屏

javascript - 三栏布局的屏幕阅读器如何自定义阅读顺序?

javascript - 如何用逗号分隔 $ ('ul li' ).text

node.js - 在 Angular 中上传文件 - 显示在 req.body 中,而不是 Nodejs 服务器的 req.files 中

javascript - 如何更改散点图中点的形状?

javascript - Ember JS : Async Model

typescript - typescript 中的内部类类型