通过对象数组进行映射并按属性过滤掉数组

时间:2019-06-02 21:12:03

标签: javascript reactjs object

我有一个疑问,什么是过滤具有对象数组的对象的最佳方法,我想返回具有匹配属性的对象

three items

上面的代码有效,但是我觉得它不是实现它的最佳方法,也许有人可以解决这个问题。

1 个答案:

答案 0 :(得分:2)

如果要过滤现有数组并创建新数组,则应使用.filter。仅在通过现有数组中的每个元素创建另一个数组时才使用.map-请勿将其用于副作用。

您可以使用Object.values代替Object.keys,因为看起来您只在乎这些值:

const test = Object.values(repo).filter(({ name }) => name === post_name);

然后,您将获得一个具有匹配的name对象的数组。

如果您知道只有一个匹配的对象,请改用.find

const match = Object.values(repo).find(({ name }) => name === post_name);