[英]Dealing with arbitrarily large inbound data in JavaScript
這是一個從字符串中刪除指定字符的函數:
function remove(str, chars) { var set = new Set(chars); return [...str].filter(i => !set.has(i)).join(''); } console.log(remove('hello world', 'el') === 'ho word'); // true
但是...如果入站字符串任意大並且可能連續擴展怎么辦?
大概我們需要一個完全不同的策略來零星地應對它?
這樣的實現方式是否看起來像構造一個緩沖區對象,該對象在入站數據時定期更新,然后具有采樣邏輯來處理“增量”,對其進行處理並將其傳遞?
而且這將必須異步完成,以避免阻塞事件循環中的所有其他內容?
這本質上就是Node.js流嗎?
[... str]將字符串轉換為1個字符的字符串數組,這將占用額外的內存。 然后,.filter()將產生另一個字符串數組,該字符串數組可能與上一個字符串數組一樣大,具體取決於輸入數據。 然后結束,得到的字符串。
如果您擔心可能的內存和/或性能,則可以使用常規循環“ for”和“ charAt”功能來實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.