개체의 배열을받는 "필터"함수를 만들었습니다. 각 개체에는 accountId
속성이 있습니다. 내 함수는 다른 accountId
이있는 객체를 필터링해야합니다. 그러나 거기에 undefined
개체를 밀어 넣고 있습니다.JS find function undefined
내 기능에 문제가 있습니까? 내가 배열에없는 내 함수에 accountId
를 통과하면
export const filterItems = (myArray, accountId) => {
let filteredItems = [];
filteredItems.push(myArray.find(items => items.accountId === accountId));
return filteredItems;
}
는, 출력은 하나 개의 항목을 배열하고 항목은 정의되지 않는다 - 아래 참조 :
[
0: undefined
]
무엇 내가 틀렸어?
: 하나의 요소 만 반환하려는 경우 또는 아무 것도 반환하지 않으려는 경우 function에서 _Array_, filteredItem ** s **라는 이름을 반환하는 이유는 무엇입니까? 적어도 Array.prototype.find()가하는 일입니다. 어쩌면 당신은'return myArray.filter (...);'할 의도 였을까요? – blex
'accountId'가 매개 변수에 지정된 것과 일치하는 모든 요소를 반환하고자합니다. 따라서 최종 결과에서 둘 이상의 객체가 될 수 있습니다. 일치하는'accountId'를 가진 객체가 없다면 빈 배열을 반환하고 싶습니다. – Sam
그런 다음 @ Nina의 대답을 찾으십시오. 그것은 일치하는 경우 여러 요소를 반환하는 유일한 방법이고 아무 것도없는 경우 빈 배열입니다 – blex