কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে অ্যারে সর্ট করা যাতে NaN ভ্যালুগুলো সবসময় নিচে চলে যায়


আমাদের কাছে একটি অ্যারে আছে যেটিতে স্ট্রিং এবং নাম্বার মিক্সড ডেটা টাইপ রয়েছে। আমাদের একটি সর্টিং ফাংশন লিখতে হবে যা অ্যারেটিকে এমনভাবে সর্ট করবে যেন NaN ভ্যালুগুলো সবসময় নিচে চলে যায়। অ্যারেতে সব নরমাল নাম্বারগুলো প্রথমে থাকবে, তারপর স্ট্রিং লিটারেলগুলো, এবং সবশেষে NaN নাম্বারগুলো।

আমরা জানি NaN এর ডেটা টাইপ "number", সেজন্য আমরা NaN চেক করতে পারি না !number && !string এর মতো করে। আরও যদি আমরা শুধু এলিমেন্টগুলোর tautology এবং falsity চেক করি তবে খালি স্ট্রিংও NaN বা undefined এর মতো কন্ডিশন স্যাটিসফাই করবে।

NaN চেক করা

তাহলে NaN কীভাবে চেক করব। NaN নাম্বারগুলোর একটি বিশেষ বৈশিষ্ট্য আছে, সেটি হলো NaN, NaN-এর সমান নয়। অর্থাৎ JS-এ যেকোনো অন্য ভ্যালুর জন্য, value === valuetrue দেবে, কিন্তু NaN === NaN সবসময় false দেবে। আমরা এই বৈশিষ্ট্যটি ব্যবহার করে আমাদের অ্যারে সর্ট করব।

উদাহরণ

const arr = [344, 'fd', NaN, '', 5, 'f',76, NaN, 76, NaN, 87, 89, 'fdf', 23, 'fgg', NaN, 765]; const sorter = (a, b) => {    if(a !== a){       return 1;    }else if(b !== b){       return -1;    }    return typeof a === 'number' ? -1 : 1; }; arr.sort(sorter); console.log(arr);

আউটপুট

কনসোলে আউটপুট হবে -

[    765, 23, 89, 87,    76, 76, 5, 344,    'fd', '', 'f', 'fdf',    'fgg', NaN, NaN, NaN,    NaN ]

  1. জাভাস্ক্রিপ্ট Array.prototype.values() মেথড

  2. জাভাস্ক্রিপ্ট array.values() মেথড

  3. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড

  4. জাভাস্ক্রিপ্টে অ্যারেতে থাকা সব শূন্যকে শেষে সরানো