"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एकाधिक स्थितियों के आधार पर वस्तुओं की जावास्क्रिप्ट सरणी को कैसे फ़िल्टर करें?

एकाधिक स्थितियों के आधार पर वस्तुओं की जावास्क्रिप्ट सरणी को कैसे फ़िल्टर करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:886

How to Filter a JavaScript Array of Objects Based on Multiple Conditions?

कई स्थितियों के आधार पर जावास्क्रिप्ट में सरणी फ़िल्टर करना

समस्या विवरण

ऑब्जेक्ट्स की एक सरणी और एक फ़िल्टर ऑब्जेक्ट को देखते हुए, लक्ष्य फ़िल्टर करना है और फ़िल्टर में निर्दिष्ट कई शर्तों के आधार पर सरणी को सरल बनाएं। हालाँकि, एक विशिष्ट समस्या तब उत्पन्न होती है जब फ़िल्टर में कई गुण होते हैं। वर परिणाम = []; (फ़िल्टर में var प्रोप) के लिए { अगर (filter.hasOwnProperty(prop)) { // सरणी पर पुनरावृति करें के लिए (var i = 0; i

प्रस्तावित समाधान में, समस्या तब होती है जब फ़िल्टर में एकाधिक गुण होते हैं। विशेष रूप से, दूसरे पुनरावृत्ति के दौरान, उपयोगकर्ताओं [i] [प्रोप] और फ़िल्टर [प्रोप] के बीच तुलना गलत है। इसे ठीक करने के लिए, हम कोड को निम्नलिखित में संशोधित कर सकते हैं:

फ़ंक्शन फ़िल्टरउपयोगकर्ता(उपयोगकर्ता, फ़िल्टर) { वर परिणाम = []; (फ़िल्टर में var प्रोप) के लिए { अगर (filter.hasOwnProperty(prop)) { // सरणी पर फ़िल्टर लागू करें उपयोगकर्ता = उपयोगकर्ता.फ़िल्टर((उपयोगकर्ता) => उपयोगकर्ता[प्रोप] === फ़िल्टर[प्रोप]); } } वापसी परिणाम; }
function filterUsers(users, filter) {
  var result = [];
  for (var prop in filter) {
    if (filter.hasOwnProperty(prop)) {
      // Iterate over the array
      for (var i = 0; i 

उदाहरण उपयोग

function filterUsers(users, filter) {
  var result = [];
  for (var prop in filter) {
    if (filter.hasOwnProperty(prop)) {
      // Apply filter on the array
      users = users.filter((user) => user[prop] === filter[prop]);
    }
  }
  return result;
}

var उपयोगकर्ता = [{ नाम: 'जॉन', ईमेल: '[email protected]', उम्र: 25, पता: 'यूएसए' }, { नाम: 'टॉम', ईमेल: '[email protected]', उम्र: 35, पता: 'इंग्लैंड' }, { नाम: 'मार्क', ईमेल: '[email protected]', उम्र: 28, पता: 'इंग्लैंड' }]; वर फ़िल्टर = { पता: 'इंग्लैंड', नाम: 'मार्क' }; var फ़िल्टर किए गए उपयोगकर्ता = फ़िल्टर उपयोगकर्ता (उपयोगकर्ता, फ़िल्टर); कंसोल.लॉग(फ़िल्टर किए गए उपयोगकर्ता); // आउटपुट: [{नाम: 'मार्क', ईमेल: '[email protected]', उम्र: 28, पता: 'इंग्लैंड' }]

यह समाधान उस समस्या का समाधान करता है जहां एकाधिक फ़िल्टर स्थितियां नहीं थीं सही ढंग से लागू किया जा रहा है, यह सुनिश्चित करते हुए कि परिणामी फ़िल्टर की गई सरणी निर्दिष्ट मानदंडों को सटीक रूप से प्रतिबिंबित करती है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3