ধরা যাক, আমাদের একটি ফাংশন লিখতে হবে, বলুন translate() যেটি একটি স্ট্রিংকে প্রথম আর্গুমেন্ট হিসেবে গ্রহণ করে এবং তার পরে যেকোনো সংখ্যক শব্দ।
স্ট্রিংটিতে আসলে n$ চিহ্ন থাকবে −
এই $0 আরও $1 মাত্র একটি $2। তারপরে 3টি স্ট্রিং থাকবে যা সংশ্লিষ্ট স্থানগুলিকে প্রতিস্থাপন করবে।
যেমন −
ফাংশন কল এই মত হলে -
অনুবাদ করুনফাংশনের আউটপুট −
হওয়া উচিতএই গেমটি শুধু একটি খেলার চেয়েও বেশি কিছু।
এই কার্যকারিতা কমবেশি জাভাস্ক্রিপ্টে ইনজেকশন করা টেমপ্লেটের মতো।
অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -
আমরা এখানে String.prototype.replace() পদ্ধতি ব্যবহার করব। আমরা জানি যে যদি আমরা একটি রেজেক্স প্যাটার্ন ব্যবহার করি সমস্ত ঘটনার সাথে মেলে এবং একটি ফাংশনকে দ্বিতীয় প্যারামিটার হিসাবে ব্যবহার করি, এটি প্রতিটি ম্যাচের জন্য কার্যকর হয়। আমরা এখানে ঠিক একই কাজ করব।
এটি করার জন্য কোড হবে −
উদাহরণ
const str ='এই $0 বেশি $1 শুধু একটি $2';const translate =(str, ...texts) => { const regex =/\$(\d+)/gi; str.replace(regex, (item, index) => { রিটার্ন টেক্সট [index]; });};console.log(translate(str, 'game', 'just', 'game'));পূর্বে>আউটপুট
কনসোলে আউটপুট হবে −
এই গেমটি কেবলমাত্র একটি খেলা