এই প্রশ্নের উত্তরগুলিতে পাওয়া 15 টি বিভিন্ন ফাংশন / পদ্ধতিগুলির পরীক্ষার দীর্ঘ পরে, দীর্ঘ সময়ের পরে, আমি এখন জানি যে সেরা (সবচেয়ে বহুমুখী এবং দ্রুত) is
আমি এই প্রশ্নের উত্তর থেকে 15 টি ফাংশন / পদ্ধতি নিয়েছি এবং 100 প্যাডগুলি কার্যকর করতে সময় নির্ধারণ করার জন্য একটি স্ক্রিপ্ট তৈরি করেছি। প্রতিটি প্যাড শূন্যের 9
সাথে সংখ্যাটি প্যাড করবে 2000
। এটি অত্যধিক বলে মনে হচ্ছে এবং এটি হ'ল তবে এটি আপনাকে কার্যকারিতাগুলির স্কেলিং সম্পর্কে একটি ভাল ধারণা দেয়।
আমার ব্যবহৃত কোডটি এখানে পাওয়া যাবে: https://gist.github.com/NextToN কিছুই /
6325915
কোডটি নিজেরাই সংশোধন ও পরীক্ষা করতে নির্দ্বিধায়।
সর্বাধিক বহুমুখী পদ্ধতিটি পেতে, আপনাকে একটি লুপ ব্যবহার করতে হবে। এটি কারণ খুব সংখ্যক লোকের সাথে অন্যরা ব্যর্থ হওয়ার সম্ভাবনা রয়েছে, তবে এটি সফল হবে।
সুতরাং, কোন লুপ ব্যবহার করতে হবে? ঠিক আছে, এটি একটি while
লুপ হবে। একটি for
লুপটি এখনও দ্রুত, তবে একটি while
লুপটি কিছুটা দ্রুত (বেশ কয়েকটি এমএস) - এবং ক্লিনার is
এর মত উত্তরগুলি Wilco
, Aleksandar Toplek
বা Vitim.us
পুরোপুরি কাজটি করবে।
ব্যক্তিগতভাবে, আমি একটি ভিন্ন পদ্ধতির চেষ্টা করেছি। আমি স্ট্রিং / নম্বর প্যাড করতে একটি পুনরাবৃত্ত ফাংশন ব্যবহার করার চেষ্টা করেছি। এটি অ্যারে যোগদানের পদ্ধতিগুলির চেয়ে আরও ভাল কাজ করেছে তবে লুপের মতো দ্রুত কাজ করে না।
আমার কাজটি হ'ল:
function pad(str, max, padder) {
padder = typeof padder === "undefined" ? "0" : padder;
return str.toString().length < max ? pad(padder.toString() + str, max, padder) : str;
}
প্যাডিং ভেরিয়েবলটি সেট করে বা ছাড়াই আপনি আমার ফাংশনটি ব্যবহার করতে পারেন। সুতরাং এটি পছন্দ:
pad(1, 3); // Returns '001'
// - Or -
pad(1, 3, "x"); // Returns 'xx1'
ব্যক্তিগতভাবে, আমার পরীক্ষাগুলির পরে, আমি কিছুক্ষণ লুপের মতো একটি পদ্ধতি ব্যবহার করব Aleksandar Toplek
বা পছন্দ করি Vitim.us
। তবে, আমি এটিকে সামান্য পরিবর্তন করব যাতে আপনি প্যাডিং স্ট্রিং সেট করতে সক্ষম হন।
সুতরাং, আমি এই কোডটি ব্যবহার করব:
function padLeft(str, len, pad) {
pad = typeof pad === "undefined" ? "0" : pad + "";
str = str + "";
while(str.length < len) {
str = pad + str;
}
return str;
}
// Usage
padLeft(1, 3); // Returns '001'
// - Or -
padLeft(1, 3, "x"); // Returns 'xx1'
আপনি এই কোডটি ব্যবহার করে প্রোটোটাইপ ফাংশন হিসাবে এটি ব্যবহার করতে পারেন:
Number.prototype.padLeft = function(len, pad) {
pad = typeof pad === "undefined" ? "0" : pad + "";
var str = this + "";
while(str.length < len) {
str = pad + str;
}
return str;
}
// Usage
var num = 1;
num.padLeft(3); // Returns '001'
// - Or -
num.padLeft(3, "x"); // Returns 'xx1'