JS找到推送未定义的函数

Sam*_*Sam 6 javascript

我创建了一个"过滤器"函数,它接收一个对象数组.每个对象都有一个accountId属性.我的函数应该过滤掉具有不同的对象accountId.然而,它正在undefined那里推动一个物体.

我的功能出了什么问题?

export const filterItems = (myArray, accountId) => {

   let filteredItems = [];
   filteredItems.push(myArray.find(items => items.accountId === accountId));

   return filteredItems;
}
Run Code Online (Sandbox Code Playgroud)

当我传递accountId给不在数组中的函数时,输出是一个数组,其中有一个项目,项目未定义 - 见下文:

[
  0: undefined
]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Nin*_*olz 3

您可以只过滤数组并在未找到时返回一个空数组。

export const filterItems = (myArray, accountId) =>
    myArray.filter(items => items.accountId === accountId);
Run Code Online (Sandbox Code Playgroud)