یک اسکریپت Node.js بنویسید که یک فایل متنی را بخواند، تعداد تکرار هر کلمه را بشمارد و نتیجه را به صورت یک فایل JSON خروجی ذخیره کند.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:33 0.0
برای حل این مسئله از ماژول fs یا fs/promises در Node.js استفاده کنید: فایل را با encoding='utf8' بخوانید، متن را به حروف کوچک تبدیل کنید، با یک عبارت باقاعده مثل /\W+/ کلمات را جدا کنید و آرایهی خالی را فیلتر کنید، سپس با یک آبجکت شمارش فراوانی هر کلمه را انجام دهید و در نهایت با JSON.stringify و writeFile نتیجه را در یک فایل .json ذخیره کنید. از async/await و try/catch برای هندل خطاها استفاده کنید و اگر فایل بزرگ است به جای readFile از createReadStream و readline برای پردازش خط به خط بهره ببرید؛ همچنین برای خوانایی خروجی از JSON.stringify(obj, null, 2) استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
این رویکرد کارآمد است، اما برای فایلهای بزرگ حتما از createReadStream و readline استفاده کنید تا حافظه مصرفی بهینه بماند. همچنین با تبدیل متن به حروف کوچک، فیلتر کردن کلمات خالی و تقسیم با /\W+/ میتوانید نتیجه را درست بدست آورید، اما به تفاوتهای زبان و کاراکترهای خاص توجه کنید. خروجی با JSON.stringify(obj, null, 2) خواناست و استفاده از async/await و try/catch برای مدیریت خطاها باعث پایداری کد میشود. اگر قصد دارید تحلیل دقیقتری انجام دهید، میتوانید stop-words را حذف کنید یا برای بهبود کارایی اندازه فایل را در نظر بگیرید.
گزارش