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

जावास्क्रिप्ट में प्रमुख संपत्ति के आधार पर वस्तुओं को समूहीकृत करना

<घंटा/>

हमारे पास एक पेरेंटअरे है जिसमें एक ही आकार के कई उप सरणियाँ हैं, प्रत्येक उप सरणी दो गुणों वाली वस्तुओं की एक सरणी है:कुंजी और मान। एक सबअरे के भीतर यह पुष्टि की जाती है कि दो ऑब्जेक्ट्स में एक ही कुंजी नहीं हो सकती है, लेकिन सभी सबएरे में n कीज़ की एक ही जोड़ी होती है, जहाँ n सब एरे का आकार होता है।

हमारा काम वस्तुओं की कुंजी के रूप में एक वस्तु तैयार करना है और मूल्य एक सरणी है जिसमें उस विशेष कुंजी के सभी मान शामिल हैं।

यहाँ एक नमूना पैरेंट सरणी है -

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. कुंजी/मूल्य जोड़े के लिए जावास्क्रिप्ट में ऑब्जेक्ट्स बनाम सरणी कैसे हल करें?

    इसे निम्न की तरह स्टोर करें - var players = {    600 : 'Sachin',    300 : 'Brad', }; कुंजी/मूल्य जोड़े के लिए, हमने उपरोक्त समाधान का उपयोग किया है, क्योंकि हम एक-से-एक चाहते थे। हमने कुंजी को लुकअप कुंजी के रूप में उपयोग करने के लिए ऐसा किया था। आप इस तरह और भी म

  1. जावास्क्रिप्ट में किसी मान के आधार पर वस्तुओं को कैसे समूहित करें?

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

  1. 2 वस्तुओं की तुलना करते समय समूहबद्ध सरणी नेस्टेड मान - जावास्क्रिप्ट

    मान लीजिए, हमारे पास निम्नलिखित JSON ऑब्जेक्ट है - const input = {    "before": {      "device": [        {          "id": "1234",          "price": "