মধ্যে কলব্যাক ফাংশন Array.mapরয়েছে তিনটি প্যারামিটার:
আপনি যে লিঙ্কটিতে লিঙ্ক করেছেন একই মজিলা পৃষ্ঠা থেকে:
কলব্যাকটি তিনটি আর্গুমেন্টের সাথে আহ্বান জানানো হয়েছে: উপাদানটির মান, উপাদানটির সূচক এবং অ্যারে অবজেক্টকে বিভ্রান্ত করা হচ্ছে "
সুতরাং আপনি যদি এমন কোনও ফাংশন কল করেন parseIntযা আসলে দুটি আর্গুমেন্টের প্রত্যাশা করে, দ্বিতীয় আর্গুমেন্টটি উপাদানটির সূচক হবে।
এই ক্ষেত্রে, আপনি পরিবর্তে parseInt0, 1 এবং 2 এর সাথে কলিং শেষ করেছেন। প্রথমটি প্যারামিটার সরবরাহ না করার মতো একই, সুতরাং এটি ইনপুট (বেস 10, এই ক্ষেত্রে) এর উপর ভিত্তি করে খেলাপি হয়েছিল। বেস 1 একটি অসম্ভব সংখ্যা সংখ্যা, এবং 3 বেস 2 তে একটি বৈধ সংখ্যা নয়:
parseInt('1', 0); // OK - gives 1
parseInt('2', 1); // FAIL - 1 isn't a legal radix
parseInt('3', 2); // FAIL - 3 isn't legal in base 2
সুতরাং এই ক্ষেত্রে, আপনার মোড়ক ফাংশন প্রয়োজন:
['1','2','3'].map(function(num) { return parseInt(num, 10); });
বা ES2015 + সিনট্যাক্স সহ:
['1','2','3'].map(num => parseInt(num, 10));
(উভয় ক্ষেত্রেই স্পষ্টভাবেparseInt প্রদর্শিত হিসাবে র্যাডিক্স সরবরাহ করা ভাল , কারণ অন্যথায় এটি ইনপুটের উপর ভিত্তি করে রডিক্সের অনুমান করে some যদি স্ট্রিংটি শুরু হয় তবে হেক্স অনুমান করুন 0x)
.map(parseFloat)অলসতার জন্য : ব্যবহার করুন কারণ এটি অনন্য একটি প্যারামিটার নেয়।