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

JavaScript में नेस्टेड ऐरे के अंदर ऑब्जेक्ट्स को ग्रुप करें


मान लीजिए हमारे पास एक parentArray है जिसमें कई सब ऐरे हैं जिनमें से प्रत्येक का आकार समान है, प्रत्येक सब ऐरे ऑब्जेक्ट्स का एक ऐरे है जिसमें दो प्रॉपर्टीज: key और value हैं। एक सबऐरे के भीतर यह पुष्टि की जाती है कि दो ऑब्जेक्ट्स में समान key नहीं हो सकता लेकिन सभी सबऐरे में n कुंजियों का समान जोड़ा होता है जहां n सब ऐरे का आकार है।

हमारा काम कुंजी के रूप में ऑब्जेक्ट्स की key और मान के रूप में एक ऐरे तैयार करना है जिसमें उस विशेष कुंजी के लिए सभी मान हों।

यहां हमारा नमूना पैरेंट ऐरे है:

const parentArray = [[
  { key: 123, value: 'India' },
  { key: 124, value: 'USA' },
  { key: 125, value: 'Japan' },
  { key: 126, value: 'Denmark' },
  { key: 127, value: 'Austria' },
], [
  { key: 124, value: 'Kenya' },
  { key: 126, value: 'UK' },
  { key: 123, value: 'Germany' },
  { key: 127, value: 'Spain' },
  { key: 125, value: 'Portugal' },
]];

हम पैरेंट ऐरे पर पुनरावृति करेंगे और फिर सभी सब ऐरे को एक-एक करके और यदि हमें मिलान करने वाली कुंजी मिलती है, तो हम इसे मान ऐरे में पुश करते हैं अन्यथा हम एक नया मान ऐरे बनाते हैं।

इसके लिए पूरा कोड होगा:

उदाहरण

const parentArray = [[
  { key: 123, value: 'India' },
  { key: 124, value: 'USA' },
  { key: 125, value: 'Japan' },
  { key: 126, value: 'Denmark' },
  { key: 127, value: 'Austria' },
], [
  { key: 124, value: 'Kenya' },
  { key: 126, value: 'UK' },
  { key: 123, value: 'Germany' },
  { key: 127, value: 'Spain' },
  { key: 125, value: 'Portugal' },
]];
const map = {};
parentArray.forEach(arr => {
  arr.forEach(obj => {
    const { key, value } = obj;
    if(map[key]){
      map[key].push(value);
    }else{
      map[key] = [value]
    }
  })
});
console.log(map);

आउटपुट

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

{
  '123': [ 'India', 'Germany' ],
  '124': [ 'USA', 'Kenya' ],
  '125': [ 'Japan', 'Portugal' ],
  '126': [ 'Denmark', 'UK' ],
  '127': [ 'Austria', 'Spain' ]
}

  1. JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर कैसे ग्रुप करें? JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर कैसे ग्रुप करें?

    JavaScript में ऑब्जेक्ट्स की सरणी को ID के आधार पर ग्रुप करने का निम्नलिखित कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <

  1. जावास्क्रिप्ट में वैल्यू के आधार पर ऑब्जेक्ट्स को ग्रुप कैसे करें? जावास्क्रिप्ट में वैल्यू के आधार पर ऑब्जेक्ट्स को ग्रुप कैसे करें?

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

  1. JavaScript में 2 ऑब्जेक्ट्स की तुलना करते हुए सरणी के नेस्टेड मान को ग्रुप करना JavaScript में 2 ऑब्जेक्ट्स की तुलना करते हुए सरणी के नेस्टेड मान को ग्रुप करना

    मान लीजिए हमारे पास निम्नलिखित JSON ऑब्जेक्ट है: const input = { before: { device: [ { id: 1234, price: 10, features: [ { name: samsung, price: 10 }, { name: Apple, price: 20 } ] }, { id: 2154, price: 20,