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

JavaScript में ऑब्जेक्ट्स की सरणी को दो गुणों के आधार पर सॉर्ट करना


मान लीजिए, हमारे पास ऑब्जेक्ट्स की एक सरणी है जैसे -

const arr = [    { resVal: "25FA15", resFlow: 49, resName: "Rendimiento Tri-Seal  Completo", resPhoto: "Tri-Sealseries.png", resHP: 1.5 },    { resVal: "25FA2", resFlow: 52, resName: "Rendimiento Tri-Seal  Completo", resPhoto: "Tri-Sealseries.png", resHP: 2 },    { resVal: "45FA2", resFlow: 53, resName: "Rendimiento Hi-Cap  Completo", resPhoto: "HighCapseries.png", resHP: 2 },    { resVal: "35FA2", resFlow: 59, resName: "Rendimiento Hi-Cap  Completo", resPhoto: "HighCapseries.png", resHP: 2 } ];

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी ऑब्जेक्ट्स की सरणी लेता है। फ़ंक्शन को इस सरणी को दो अलग-अलग गुणों के आधार पर सॉर्ट करना चाहिए -

  • उच्च "resFlow" मान के अनुसार सॉर्ट करें,

  • लेकिन न्यूनतम "resHP" मान के साथ।

दृष्टिकोण

हम निर्दिष्ट क्रम के लिए कुंजियों और उनके सॉर्ट क्रम की एक चेनड अप्रोच का उपयोग कर रहे हैं।

सरणी को गुणों के अनुसार सॉर्ट किया जाता है -

  • resHP, आरोही और

  • resFlow, अवरोही।

यह डेल्टा की गणना करके काम करता है और यह दो ऑब्जेक्ट्स के संबंध को दर्शाता है। यदि मान शून्य है, तो दोनों मान समान हैं और अगला डेल्टा गणना करके लौटाया जाता है।

उदाहरण

इसके लिए कोड होगा -

const arr = [    { resVal: "25FA15", resFlow: 49, resName: "Rendimiento Tri-Seal  Completo", resPhoto: "Tri-Sealseries.png", resHP: 1.5 },    { resVal: "25FA2", resFlow: 52, resName: "Rendimiento Tri-Seal  Completo", resPhoto: "Tri-Sealseries.png", resHP: 2 },    { resVal: "45FA2", resFlow: 53, resName: "Rendimiento Hi-Cap  Completo", resPhoto: "HighCapseries.png", resHP: 2 },    { resVal: "35FA2", resFlow: 59, resName: "Rendimiento Hi-Cap  Completo", resPhoto: "HighCapseries.png", resHP: 2 } ]; const sortByTwo = (arr = []) => {    arr.sort((a, b) => {       return a.resHP - b.resHP || b.resFlow - a.resFlow;    }); }; sortByTwo(arr); console.log(arr);

आउटपुट

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

[    {       resVal: '25FA15',       resFlow: 49,       resName: 'Rendimiento Tri-Seal Completo',       resPhoto: 'Tri-Sealseries.png',       resHP: 1.5    },    {       resVal: '35FA2',       resFlow: 59,       resName: 'Rendimiento Hi-Cap Completo',       resPhoto: 'HighCapseries.png',       resHP: 2    },    {       resVal: '45FA2',       resFlow: 53,       resName: 'Rendimiento Hi-Cap Completo',       resPhoto: 'HighCapseries.png',       resHP: 2    },    {       resVal: '25FA2',       resFlow: 52,       resName: 'Rendimiento Tri-Seal Completo',       resPhoto: 'Tri-Sealseries.png',       resHP: 2    } ]

  1. - दो JavaScript ऑब्जेक्ट्स की प्रॉपर्टीज को डायनामिकली कैसे मर्ज करें?

    JavaScript ऑब्जेक्ट्स की प्रॉपर्टीज को डायनामिकली मर्ज करने के दो तरीके हैं। वे हैं1) Object.assign()Object.assign() मेथड का उपयोग एक या अधिक स्रोत ऑब्जेक्ट्स से सभी प्रॉपर्टीज के मानों को टार्गेट ऑब्जेक्ट में कॉपी करने के लिए किया जाता है। यह टार्गेट ऑब्जेक्ट लौटाएगा।उदाहरण-1<html> <body&g

  1. JavaScript में ऐरे ऑब्जेक्ट की लंबाई JavaScript में ऐरे ऑब्जेक्ट की लंबाई

    JavaScript में Length प्रॉपर्टी ऑब्जेक्ट का आकार लौटाती है। स्ट्रिंग और ऐरे ऑब्जेक्ट की लंबाई के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i

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

    जावास्क्रिप्ट Array.prototype.sort() मेथड का उपयोग एरे को सॉर्ट करने के लिए किया जाता है। सॉर्टिंग का क्रम अल्फाबेटिक, न्यूमेरिक, आरोही या अवरोही हो सकता है। Array.prototype.sort() मेथड के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /