【发布时间】:2021-12-17 20:17:19
【问题描述】:
所以我有这个对象数组,其中一个项目有 6 个组合,这些组合被构成为对象。
假设我有这个对象的一个组合:
{ "1": "ab", "2": "bc", "3": "ac" }
该数组还包含 5 个其他对象,这些对象具有该对象的不同组合。像这样:
{ "1": "ab", "2": "ac", "3": "bc" }
{ "1": "ac", "2": "bc", "3": "ab" }
{ "1": "ac", "2": "ab", "3": "bc" }
{ "1": "bc", "2": "ac", "3": "ab" }
{ "1": "bc", "2": "ab", "3": "ac" }
这样我有大约 1000 个项目,每个项目有 6 个组合在一个数组中,我需要过滤并返回每个项目的 1 个组合。
所以假设这是一个包含两个项目的 12 种不同组合的数组:
[
{ "1": "ab", "2": "bc", "3": "ac" }
{ "1": "ab", "2": "ac", "3": "bc" }
{ "1": "ac", "2": "bc", "3": "ab" }
{ "1": "ac", "2": "ab", "3": "bc" }
{ "1": "bc", "2": "ac", "3": "ab" }
{ "1": "bc", "2": "ab", "3": "ac" }
{ "1": "de", "2": "ef", "3": "df" }
{ "1": "df", "2": "ef", "3": "de" }
{ "1": "de", "2": "df", "3": "ef" }
{ "1": "ef", "2": "df", "3": "de" }
{ "1": "df", "2": "de", "3": "ef" }
{ "1": "ef", "2": "de", "3": "df" }
]
我想过滤该数组并仅返回每个组合的 1 个组合,如下所示:
[
{ "1": "ab", "2": "bc", "3": "ac" }
{ "1": "de", "2": "ef", "3": "df" }
]
请注意,第一个对象中的“ab”可以是完全不同组合的值,例如:
{ "1": "ab", "2": "df", "3": "fe" }
我怎样才能有效地做到这一点并考虑到良好的性能?
【问题讨论】:
-
值总是字符串吗?
-
是的。总是字符串。
-
您的选择标准是什么?数组元素的顺序是否总是正确的
-
它可以是任何顺序。
标签: javascript arrays filter