Tôi đã tạo một hàm "bộ lọc" nhận một mảng các đối tượng. Mỗi đối tượng có thuộc tính accountId
. Chức năng của tôi được cho là lọc ra các đối tượng có khác nhau accountId
. Đó là, tuy nhiên, đẩy một đối tượng undefined
trong đó.JS tìm chức năng đẩy không xác định
Có gì sai với chức năng của tôi?
export const filterItems = (myArray, accountId) => {
let filteredItems = [];
filteredItems.push(myArray.find(items => items.accountId === accountId));
return filteredItems;
}
Khi tôi vượt qua một accountId
đến chức năng của tôi không có trong mảng, đầu ra là một mảng với một mục trong nó và mục là undefined - xem dưới đây:
[
0: undefined
]
gì tôi đang làm sai à?
Lưu ý: Tại sao hàm của bạn trả về _Array_, named namedItem ** s **, nếu bạn chỉ định trả về một phần tử hay không? Ít nhất, đó là những gì 'Array.prototype.find()' hiện. Có lẽ bạn muốn làm 'return myArray.filter (...);'? – blex
Tôi muốn trả về tất cả các phần tử có 'accountId' khớp với các phần tử được chỉ định trong tham số. Vì vậy, nó có thể có nhiều hơn một đối tượng trong kết quả cuối cùng. Nếu không có đối tượng nào có 'accountId' khớp, tôi muốn trả về một mảng trống. – Sam
Sau đó, truy cập câu trả lời của @ Nina. Đó là người duy nhất sẽ trả lại nhiều phần tử nếu chúng khớp nhau và một mảng trống nếu không có bất kỳ một nào – blex