یک برنامه Node.js بنویسید که فایل متنی "input.txt" را بخواند، تعداد تکرار هر کلمه را محاسبه کند و خروجی را به‌صورت یک شیء JSON در فایل "output.json" ذخیره کند.

30.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 05:16

0.0

برای حل این سوال از ماژول داخلی fs در Node.js استفاده کنید (ترجیحاً fs.promises با async/await). فایل را با خواندن به یک رشته بارگذاری کنید، حروف را به حروف کوچک تبدیل و نویسه‌های غیرحرفی را با یک regex حذف یا برش بزنید، سپس با split روی فاصله‌ها آرایه‌ای از کلمات بسازید و با یک شیء (یا Map) شمارش تکرار هر کلمه را انجام دهید. در پایان از JSON.stringify برای تبدیل شیء به رشته و از fs.writeFile برای نوشتن آن در "output.json" استفاده کنید؛ از مدیریت خطاها، تنظیم encoding="utf8" و در صورت فایل‌های بزرگ به‌جای readFile از استریم‌ها یا readline استفاده کنید.

توسط پژوهشگر در 198 روز قبل ساعت 05:16
دسته بندی ها: JavaScript JavaScript for beginner
sara در 198 روز قبل ساعت 05:17

از fs.promises با async/await برای خواندن و نوشتن استفاده کنید و حتماً encoding='utf8' و مدیریت خطا را اعمال کنید تا مشکلات کار با فایل‌ها بهتر هندل شود. برای حذف نویسه‌های غیرحرفی به‌جای الگوهای محدود به لاتین از Unicode property escapes مانند \p{L} با flag u استفاده کنید تا حروف فارسی و دیگر اسکریپت‌ها حفظ شوند. اگر فایل ممکن است بزرگ باشد پردازش خط‌به‌خط با استریم‌ها یا readline را به‌کار ببرید تا از مصرف بیش‌ازحد حافظه جلوگیری شود. برای شمارش از Map استفاده کنید که ترتیب را حفظ می‌کند و پیش از شمارش رشته‌ها را نرمالایز (مثلاً NFC) کنید و در صورت نیاز واژه‌های توقف را حذف یا stemming انجام دهید.

گزارش

1 پاسخ

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

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