如何获得具有海关关系的商品?

时间:2019-01-20 19:17:02

标签: javascript

我有一个包含三个项目的数组,这些项目通过称为bound_id的引用属性相互链接,这是数组:

[
   { id: "1", option: { bound_id: "2" }},
   { id: "2", option: { bound_id: "12" }},
   { id: "12", option: { bound_id: "2" }}
]

您会看到ID为1的项目与ID为2的项目链接,而项目2则与项目12链接。

现在,假设我将项目bound_id的{​​{1}}的值更改为1

null

如何退回所有未相互链接的项目?预期结果应为:

[
   { id: "1", option: { bound_id: null }},
   { id: "2", option: { bound_id: "12" }},
   { id: "12", option: { bound_id: "2" }}
]

这意味着数组中的下一个项目与当前ID不存在关系,因此,如果该关系被破坏,则结果需要返回所有不再符合该关系的项目。

我该如何实现?

1 个答案:

答案 0 :(得分:2)

您可以使用filter删除所有bound_id设置为null的项目

const input = [
   { id: "1", option: { bound_id: null }},
   { id: "2", option: { bound_id: "12" }},
   { id: "12", option: { bound_id: "2" }}
];

const output = input.filter(a => a.option.bound_id);

console.log(output);