আমার মতামত অনুসারে এখানে নির্দিষ্ট মামলার জন্য সর্বোত্তম পন্থাটি হ'ল প্রস্তাবিত একটি কমনপাইক । সামান্য উন্নতি আমি সুপারিশ করব যে আধুনিক ব্রাউজারগুলিতে কাজ করে:
Object.keys(aao).sort(function(a,b){return aao[b]-aao[a]});
এটি সহজে প্রয়োগ হতে পারে এবং নির্দিষ্ট ক্ষেত্রে এখানে দুর্দান্ত কাজ করতে পারে যাতে আপনি এটি করতে পারেন:
let aoo={};
aao["sub2"]=1;
aao["sub0"]=-1;
aao["sub1"]=0;
aao["sub3"]=1;
aao["sub4"]=0;
let sk=Object.keys(aao).sort(function(a,b){return aao[b]-aao[a]});
for (let i=sk.length-1;i>=0;--i){
}
এর বাইরেও, আমি এখানে আরও একটি "জেনেরিক" ফাংশন সরবরাহ করছি যা আপনি এমনকি বিস্তৃত পরিস্থিতিতে এমনকি বাছাই করতে ব্যবহার করতে পারেন এবং বেন ব্ল্যাঙ্কের উত্তরগুলির পদ্ধতির সাথে আমি যে প্রস্তাবিত উন্নতিটি মিশ্রিত করেছি (স্ট্রিংয়ের মানগুলিও বাছাই করে) এবং পোপজোনপলআইআই ( নির্দিষ্ট অবজেক্ট ক্ষেত্র / সম্পত্তি অনুসারে বাছাই করা) এবং আপনি সিদ্ধান্ত নিতে চান যে আপনি একটি আরোহী বা বংশধর আদেশ চান, এটি এখানে:
function sortedKeys(aao,comp="",intVal=false,desc=false){
let keys=Object.keys(aao);
if (comp!="") {
if (intVal) {
if (desc) return keys.sort(function(a,b){return aao[b][comp]-aao[a][comp]});
else return keys.sort(function(a,b){return aao[a][comp]-aao[a][comp]});
} else {
if (desc) return keys.sort(function(a,b){return aao[b][comp]<aao[a][comp]?1:aao[b][comp]>aao[a][comp]?-1:0});
else return keys.sort(function(a,b){return aao[a][comp]<aao[b][comp]?1:aao[a][comp]>aao[b][comp]?-1:0});
}
} else {
if (intVal) {
if (desc) return keys.sort(function(a,b){return aao[b]-aao[a]});
else return keys.sort(function(a,b){return aao[a]-aao[b]});
} else {
if (desc) return keys.sort(function(a,b){return aao[b]<aao[a]?1:aao[b]>aao[a]?-1:0});
else return keys.sort(function(a,b){return aao[a]<aao[b]?1:aao[a]>aao[b]?-1:0});
}
}
}
আপনি নিম্নলিখিত কোডের মতো কিছু চেষ্টা করে কার্যকারিতা পরীক্ষা করতে পারেন:
let items={};
items['Edward']=21;
items['Sharpe']=37;
items['And']=45;
items['The']=-12;
items['Magnetic']=13;
items['Zeros']=37;
console.log("1: "+sortedKeys(items));
console.log("2: "+sortedKeys(items,"",false,true));
console.log("3: "+sortedKeys(items,"",true,false));
console.log("4: "+sortedKeys(items,"",true,true));
items={};
items['k1']={name:'Edward',value:21};
items['k2']={name:'Sharpe',value:37};
items['k3']={name:'And',value:45};
items['k4']={name:'The',value:-12};
items['k5']={name:'Magnetic',value:13};
items['k6']={name:'Zeros',value:37};
console.log("1: "+sortedKeys(items,"name"));
console.log("2: "+sortedKeys(items,"name",false,true));
আমি ইতিমধ্যে বলেছি, আপনি যদি স্টাফগুলি করতে চান তবে আপনি সাজানো কীগুলি লুপ করতে পারেন
let sk=sortedKeys(aoo);
for (let i=sk.length-1;i>=0;--i){
}
অবশেষে , তবে অন্তত নয়, অবজেক্ট.কি এবং আরে.সোর্ট সম্পর্কিত কিছু দরকারী রেফারেন্স