首页 > 解决方案 > 使用 Lodash 删除数组中重复的嵌套对象

问题描述

我有一个如下所示的数组

var nestedArray = [
  { id: 1, filter: { type: "nestedArray", name: "5" } },
  { id: 2, filter: { type: "nestedArray1", name: "6" } },
  { id: 3, filter: { type: "nestedArray", name: "5" } }
];

现在在这里我有一个重复的对象,我只想使用Lodash方法识别重复项。任何帮助表示赞赏。

已经尝试过map, filter 选项,但需要Lodash方法中的一些东西。

标签: javascripttypescriptlodash

解决方案


您可以将拒绝与属性一起使用。

var myArray = [
  {
    "id": 1,
    "filter": {
      "type": "nestedArray",
      "name": "5"
    }
  },
  {
    "id": 2,
    "filter": {
      "type": "nestedArray1",
      "name": "6"
    }
  },
  {
    "id": 3,
    "filter": {
      "type": "nestedArray",
      "name": "5"
    }
  }
];

var result = _.reject(myArray, ['filter.name', '5']);

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>


推荐阅读