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

जावास्क्रिप्ट में दो मानदंडों के आधार पर सरणियों को छाँटना

<घंटा/>

निम्नलिखित को दिनांक के अनुसार क्रमबद्ध करने के लिए सरणी होने दें और यह महत्वपूर्ण है। किसी भी ऑब्जेक्ट की तुलना में किसी भी ऑब्जेक्ट की तुलना में महत्वपूर्ण संपत्ति के साथ सभी ऑब्जेक्ट ट्रू रैंक महत्वपूर्ण है और दोनों समूहों को दिनांक संपत्ति के अनुसार क्रमबद्ध किया गया है।

हमारा एरे निम्नलिखित है -

const array = [{
   id: 545,
   date: 591020824000,
   isImportant: false,
},
{
   id: 322,
   date: 591080224000,
   isImportant: false,
},
{
   id: 543,
   bdate: 591080424000,
   isImportant: true,
},
{
   id: 423,
   date: 591080225525,
   isImportant: false,
},
{
   id: 135,
   date: 591020225525,
   isImportant: true,
},
];

उसके बाद, हम उपरोक्त सरणी पर वांछित परिणाम प्राप्त करने के लिए इस तरह से सरणी सॉर्ट विधि का उपयोग कर सकते हैं -

array.sort((a, b) => {
   if(a.isImportant && !b.isImportant){
      return -1;
   }else if(!a.isImportant && b.isImportant){
      return 1;
   }else{
      return b.date-a.date;
   }
});

सॉर्ट () कॉलबैक फ़ंक्शन आमतौर पर दो तर्क प्राप्त करता है, ए और बी, जो सरणी के दो तत्वों के अलावा कुछ भी नहीं है जिस पर सॉर्ट () को कॉल किया गया था और कॉलबैक फ़ंक्शन सरणी के तत्वों की प्रत्येक संभावित जोड़ी के लिए चलता है।

कॉलबैक से रिटर्न -1 (कोई भी नकारात्मक मान) का अर्थ है कि हम पहले तत्व को सेकेंड से अधिक रैंक करते हैं।

कॉलबैक से 1 (कोई भी सकारात्मक मान) लौटाने का मतलब है कि हम दूसरे तत्व को पहले की तुलना में उच्च रैंक देते हैं।

रिटर्निंग 0 कोई बदलाव नहीं करता है। हम जाँचते हैं कि क्या a या b में से कोई भी महत्वपूर्ण संपत्ति गलत है, यदि हाँ तो हम उस एक को नीचे रखते हैं। अन्यथा, हम उन्हें उनकी dateproperty के अनुसार रैंक करते हैं।

उदाहरण

आइए अब पूरा उदाहरण देखें -

const array = [{
   id: 545,
   date: 591020824000,
   isImportant: false,
},
{
   id: 322,
   date: 591080224000,
   isImportant: false,
},
{
   id: 543,
   bdate: 591080424000,
   isImportant: true,
},
{
   id: 423,
   date: 591080225525,
   isImportant: false,
},
{
   id: 135,
   date: 591020225525,
   isImportant: true,
},
];
array.sort((a, b) => {
   if(a.isImportant && !b.isImportant){
      return -1;
   }else if(!a.isImportant && b.isImportant){
      return 1;
   }else{
      return b.date-a.date;
   }
});
console.log(array);

आउटपुट

कंसोल में कोड का आउटपुट होगा -

[
   { id: 3, date: 591080424000, isImportant: true },{ id: 5, date: 591020225525, isImportant: true },
   { id: 4, date: 591080225525, isImportant: false },{ id: 2, date: 591080224000, isImportant: false },
   { id: 1, date: 591020824000, isImportant: false }
]

  1. जावास्क्रिप्ट में दो सरणियों में शामिल होना

    जावास्क्रिप्ट में 2 सरणियों को जोड़ने के दो तरीके हैं। यदि आप एक नई सरणी प्राप्त करना चाहते हैं और दो सरणियों में शामिल होने के दौरान मौजूदा सरणियों को परेशान नहीं करना चाहते हैं तो आपको निम्नानुसार कॉन्सैट विधि का उपयोग करना चाहिए - उदाहरण let arr1 = [1, 2, 3, 4]; let arr2 = [5, 6, 7, 8]; let arr3

  1. जावास्क्रिप्ट में दो सरणियों में कैसे शामिल हों?

    जावास्क्रिप्ट में दो सरणियों को एक साथ जोड़ने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>

  1. जावास्क्रिप्ट में दो ऐरे कैसे गुणा करें?

    जावास्क्रिप्ट में दो सरणियों को गुणा करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Doc