簡體   English   中英

如何優化以下 JavaScript 函數

[英]How can I optimize the following JavaScript function

我正在嘗試優化我的代碼或看看是否有更好的方法來做到這一點。 給定下面的 acctData 和 balances 值,我需要返回一個按用戶名過濾的帳戶數組。 我的代碼有效

 const acctData = [{ acctNum: "AAA - 1234", user: "Alice" }, { acctNum: "AAA - 5231", user: "Bob" }, { acctNum: "AAA - 9921", user: "Alice" }, { acctNum: "AAA - 8191", user: "Alice" } ]; const balance = { "AAA - 1234": 4593.22, "AAA - 9921": 0, "AAA - 5231": 232142.5, "AAA - 8191": 4344 }; const combinedAccBalance = JSON.parse(JSON.stringify(acctData)); const getAccountNumbers = (filterByUser) => { return combinedAccBalance .filter(acc => { acc.balance = balance[acc.acctNum]; return acc.user === filterByUser; }) .sort((a, b) => { return a.balance - b.balance; }) .map(fa => { return fa.acctNum; }); }; console.log(getAccountNumbers("Alice")); //Returns ["AAA - 9921", "AAA - 8191", "AAA - 1234"]

您可以跳過深度克隆部分並執行以下操作:

 const acctData = [{ acctNum: "AAA - 1234", user: "Alice" }, { acctNum: "AAA - 5231", user: "Bob" }, { acctNum: "AAA - 9921", user: "Alice" }, { acctNum: "AAA - 8191", user: "Alice" } ]; const balance = { "AAA - 1234": 4593.22, "AAA - 9921": 0, "AAA - 5231": 232142.5, "AAA - 8191": 4344 }; let getAccountNumbers = (filterByUser) => { return acctData .filter(acc => acc.user === filterByUser) .sort((a, b) => { return balance[a.acctNum] - balance[b.acctNum]; }) .map(fa => { return fa.acctNum; }); }; console.log(getAccountNumbers("Alice")); //Returns ["AAA - 9921", "AAA - 8191", "AAA - 1234"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM