Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

सरणी में पहले विशिष्ट आइटम रखने के लिए एक सरणी को क्रमबद्ध करें - जावास्क्रिप्ट

<घंटा/>

मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -

const arr = [
   {flag: true, other: 1},
   {flag: true, other: 2},
   {flag: false, other: 3},
   {flag: true, other: 4},
   {flag: true, other: 5},
   {flag: true, other: 6},
   {flag: false, other: 7}
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो एक ऐसी सरणी लेता है और इसे निम्नलिखित स्थितियों के आधार पर क्रमबद्ध करता है -

  • यदि arr.flag ===गलत है, तो मिलान करने वाले तत्व को पहले सरणी में रखा जाता है, लेकिन केवल पिछले मिलान तत्वों के बाद।
  • जो तत्व मेल नहीं खाते, वे उसी क्रम में रहते हैं जैसे वे मूल रूप से थे।
  • उपस्थिति का क्रम महत्वपूर्ण है।

इसलिए, उपरोक्त सरणी के लिए, आउटपुट होना चाहिए -

const output = [
   {flag: false, other: 3},
   {flag: false, other: 7},
   {flag: true, other: 1},
   {flag: true, other: 2},
   {flag: true, other: 4},
   {flag: true, other: 5},
   {flag: true, other: 6}
];

उदाहरण

निम्नलिखित कोड है -

const arr = [
   {flag: true, other: 1},
   {flag: true, other: 2},
   {flag: false, other: 3},
   {flag: true, other: 4},
   {flag: true, other: 5},
   {flag: true, other: 6},
   {flag: false, other: 7}
];
const sortByFlag = arr => {
   const sorter = (a, b) => {
      if(!a['flag'] && b['flag']){
         return -1;
      };
      if(a['flag'] && !b['flag']){
         return 1;
      }
      return a['other'] - b['other'];
   }
   arr.sort(sorter);
};
sortByFlag(arr);
console.log(arr);

आउटपुट

यह कंसोल पर निम्न आउटपुट उत्पन्न करेगा -

[
   { flag: false, other: 3 },
   { flag: false, other: 7 },
   { flag: true, other: 1 },
   { flag: true, other: 2 },
   { flag: true, other: 4 },
   { flag: true, other: 5 },
   { flag: true, other: 6 }
]

  1. जावास्क्रिप्ट के साथ एक सरणी के पहले आइटम कैसे प्राप्त करें

    आप जावास्क्रिप्ट सरणी में तत्वों की पहली एक्स संख्या तक कैसे पहुंचते हैं? आप JavaScript के बिल्ट-इन slice() . का उपयोग करते हैं विधि। एक उदाहरण के रूप में, मान लें कि आपको किसी सरणी के पहले 3 आइटम में हेरफेर करने की आवश्यकता है। इस मामले में सरणी अभ्यासों की एक सूची है: const exerciseList = [ Dea

  1. जावास्क्रिप्ट में किसी सरणी के पहले n मान कैसे प्राप्त करें?

    किसी सरणी के पहले n तत्व प्राप्त करने के लिए हम कई तार्किक विधियों का उपयोग कर सकते हैं, लेकिन underscore.js जावास्क्रिप्ट की एक लाइब्रेरी ने _.first() . नामक एक फ़ंक्शन प्रदान किया है जावास्क्रिप्ट के पहले एन तत्व प्राप्त करने के लिए। यह सरणियों से निपटने के लिए व्यापक रूप से उपयोग की जाने वाली वि

  1. Array.prototype.sort() जावास्क्रिप्ट में।

    JavaScript Array.prototype.sort() पद्धति का उपयोग किसी सरणी को छांटने के लिए किया जाता है। छँटाई का क्रम वर्णानुक्रमिक, संख्यात्मक, आरोही या अवरोही हो सकता है। Array.prototype.sort() विधि के लिए कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, सेन्स-सेरि