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

जावास्क्रिप्ट में दो मानदंडों द्वारा ऐरे सॉर्ट करना


मान लीजिए निम्नलिखित वह ऐरे है जिसे date और isImportant द्वारा सॉर्ट किया जाना है। isImportant प्रॉपर्टी true वाले सभी ऑब्जेक्ट्स, isImportant false वाले किसी भी ऑब्जेक्ट से उच्च रैंक करते हैं और दोनों समूह date प्रॉपर्टी के अनुसार सॉर्ट होते हैं।

हमारा ऐरे निम्नलिखित है:

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;    } });

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

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

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

0 लौटाने से कोई परिवर्तन नहीं होता। हम जांचते हैं कि क्या a या b में से किसी का isImportant प्रॉपर्टी false पर सेट है, यदि हां तो हम उसे निचली रैंक देते हैं। अन्यथा, हम उन्हें उनकी date प्रॉपर्टी के अनुसार रैंक करते हैं।

उदाहरण

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

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. - JavaScript में दो एरे जोड़ना

    JavaScript में दो एरे जोड़ने के दो तरीके हैं। यदि आप एक नया एरे चाहते हैं और मौजूदा एरे को डिस्टर्ब नहीं करना चाहते हैं तो concat मेथड का उपयोग करें: उदाहरण let arr1 = [1, 2, 3, 4]; let arr2 = [5, 6, 7, 8]; let arr3 = arr1.concat(arr2); console.log(arr1); console.log(arr2); console.log(arr3); आउटपु

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

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

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

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