簡體   English   中英

用JavaScript處理任意大的入站數據

[英]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.

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