मेरे पास नीचे की तरह एक वस्तु है:

var countryobj = {
    "Canada": 10,
    "Peru": 1,
    "Argentina": 5,
    "Colombia": 2,
    "Mexico": 8
};

मैं पहली 3 सबसे छोटी कुंजी मूल्य जोड़ी प्राप्त करना चाहता हूं ताकि मेरा आउटपुट होगा:

Peru: 1
Colombia: 2
Argentina: 5
1
Forged 25 पद 2021, 13:31
क्या इससे आपके सवाल का जवाब मिलता है? JavaScript ऑब्जेक्ट को कुंजी के आधार पर क्रमित करें
 – 
Zsolt Meszaros
25 पद 2021, 13:34
1
नहीं, डुप्लिकेट नहीं।
 – 
Jack Bashford
25 पद 2021, 13:35

2 जवाब

सबसे बढ़िया उत्तर

बस Object.entries प्राप्त करें और उन्हें आरोही क्रम में उनके मूल्य के आधार पर क्रमबद्ध करें, फिर पहले तीन आइटमों को प्रारूपित करें जो आपको पसंद हैं।

var countryobj = {
 "Canada": 10,
 "Peru": 1,
 "Argentina": 5,
 "Colombia": 2,
 "Mexico": 8
};

const entries = Object.entries(countryobj).sort(([, a], [, b]) => a - b);

for (let i = 0; i < 3; i++) {
  console.log(entries[i][0] + ": " + entries[i][1]);
}
4
Jack Bashford 25 पद 2021, 13:39
खुशी है कि मैं @Forged मदद कर सका!
 – 
Jack Bashford
25 पद 2021, 13:51
function getRange(obj, count) {
  return Object.entries(obj)
    .sort(([, prev], [, next]) => a - b)
    .slice(0, count)
    .reduce(
      (result, [key]) => ({
        ...result,
        [key]: obj[key],
      }),
    {},
  );
}
0
Alexandr 25 पद 2021, 13:47
आप वस्तु का पुनर्निर्माण करके इसे सरल बना सकते हैं: return Object.fromEntries(Object.entries(obj).sort(...).slice(...))
 – 
Nick Parsons
25 पद 2021, 14:00