নিম্নলিখিত ফাংশনটি আপনাকে এক বা একাধিক বৈশিষ্ট্যের উপর অবজেক্টগুলির একটি অ্যারে বাছাই করার অনুমতি দেবে, হয় প্রতিটি ডিফল্টের উপরে আরোহণ (ডিফল্ট) বা অবতরণ, এবং আপনাকে কেস সংবেদনশীল তুলনা সম্পাদন করবে কিনা তা চয়ন করতে দেয়। ডিফল্টরূপে, এই ফাংশনটি সংবেদনশীল ধরণের কাজ করে।
প্রথম আর্গুমেন্টটি অবশ্যই অ্যারেগুলি যুক্ত করে be পরবর্তী যুক্তি (গুলি) অবশ্যই কমা দ্বারা পৃথক হওয়া স্ট্রিংয়ের তালিকা হতে হবে যা অনুসারে বাছাই করতে বিভিন্ন বস্তুর বৈশিষ্ট্যকে উল্লেখ করে। কেস সংবেদনশীল প্রকারগুলি সম্পাদন করতে হবে কিনা তা চয়ন করার জন্য শেষ যুক্তি (যা alচ্ছিক) একটি বুলিয়ান case কেস সংবেদনশীল ধরণের true
জন্য ব্যবহার করুন ।
ফাংশনটি প্রতিটি সম্পত্তি / কীটিকে পূর্বনির্ধারিতভাবে আরোহণের ক্রমে সাজিয়ে রাখবে। আপনি অবরোহী বাছাই করতে একটি বিশেষ কী চান, তাহলে এর বদলে এই বিন্যাসে একটি অ্যারের মধ্যে পাস: ['property_name', true]
।
এখানে ফাংশনটির কয়েকটি নমুনা ব্যবহার রয়েছে যার পরে একটি ব্যাখ্যা রয়েছে (যেখানে homes
অ্যারেটি অবজেক্টস রয়েছে):
objSort(homes, 'city')
-> শহর অনুসারে বাছাই করুন (আরোহণ, সংবেদনশীল ক্ষেত্রে)
objSort(homes, ['city', true])
-> শহর অনুসারে বাছাই করুন (অবতরণ, সংবেদনশীল ক্ষেত্রে)
objSort(homes, 'city', true)
-> শহর অনুসারে বাছাই করুন তারপর দাম (আরোহণ, কেস সংবেদনশীল )
objSort(homes, 'city', 'price')
-> শহর অনুসারে বাছাই করুন তারপরে দাম (আরোহী উভয় ক্ষেত্রে সংবেদনশীল)
objSort(homes, 'city', ['price', true])
-> শহর অনুসারে বাছাই করুন (আরোহণ) তারপরে দাম (উতরাই), সংবেদনশীল ক্ষেত্রে)
এবং আরও অ্যাডো ছাড়া, এখানে ফাংশনটি রয়েছে:
function objSort() {
var args = arguments,
array = args[0],
case_sensitive, keys_length, key, desc, a, b, i;
if (typeof arguments[arguments.length - 1] === 'boolean') {
case_sensitive = arguments[arguments.length - 1];
keys_length = arguments.length - 1;
} else {
case_sensitive = false;
keys_length = arguments.length;
}
return array.sort(function (obj1, obj2) {
for (i = 1; i < keys_length; i++) {
key = args[i];
if (typeof key !== 'string') {
desc = key[1];
key = key[0];
a = obj1[args[i][0]];
b = obj2[args[i][0]];
} else {
desc = false;
a = obj1[args[i]];
b = obj2[args[i]];
}
if (case_sensitive === false && typeof a === 'string') {
a = a.toLowerCase();
b = b.toLowerCase();
}
if (! desc) {
if (a < b) return -1;
if (a > b) return 1;
} else {
if (a > b) return -1;
if (a < b) return 1;
}
}
return 0;
});
} //end of objSort() function
এবং এখানে কিছু নমুনা ডেটা:
var homes = [{
"h_id": "3",
"city": "Dallas",
"state": "TX",
"zip": "75201",
"price": 162500
}, {
"h_id": "4",
"city": "Bevery Hills",
"state": "CA",
"zip": "90210",
"price": 1000000
}, {
"h_id": "5",
"city": "new york",
"state": "NY",
"zip": "00010",
"price": 1000000
}, {
"h_id": "6",
"city": "Dallas",
"state": "TX",
"zip": "85000",
"price": 300000
}, {
"h_id": "7",
"city": "New York",
"state": "NY",
"zip": "00020",
"price": 345000
}];