یک اسکریپت 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) استفاده کنید.

توسط پژوهشگر در 201 روز قبل ساعت 03:33
دسته بندی ها: JavaScript JavaScript for beginner
nima در 201 روز قبل ساعت 06:02

این رویکرد کارآمد است، اما برای فایل‌های بزرگ حتما از createReadStream و readline استفاده کنید تا حافظه مصرفی بهینه بماند. همچنین با تبدیل متن به حروف کوچک، فیلتر کردن کلمات خالی و تقسیم با /\W+/ می‌توانید نتیجه را درست بدست آورید، اما به تفاوت‌های زبان و کاراکترهای خاص توجه کنید. خروجی با JSON.stringify(obj, null, 2) خواناست و استفاده از async/await و try/catch برای مدیریت خطاها باعث پایداری کد می‌شود. اگر قصد دارید تحلیل دقیق‌تری انجام دهید، می‌توانید stop-words را حذف کنید یا برای بهبود کارایی اندازه فایل را در نظر بگیرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری