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

जावास्क्रिप्ट में JSON समूह वस्तु

<घंटा/>

मान लीजिए, हमारे पास इस तरह की वस्तुओं की एक सरणी है -

const arr = [
   { 'name': 'JON', 'flight':100, 'value': 12, type: 'uns' },
   { 'name': 'JON', 'flight':100, 'value': 35, type: 'sch' },
   { 'name': 'BILL', 'flight':200, 'value': 33, type: 'uns' },
   { 'name': 'BILL', 'flight':200, 'value': 45, type: 'sch' }
];

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो वस्तुओं की एक ऐसी सरणी लेता है। फ़ंक्शन को वस्तुओं से 'मान' और 'प्रकार' कुंजियों को हटा देना चाहिए और उनके मूल्यों को संबंधित वस्तुओं में कुंजी मान जोड़े के रूप में जोड़ना चाहिए।

इसलिए, उपरोक्त इनपुट के लिए आउटपुट इस तरह दिखना चाहिए -

const output = [
   { 'name': 'JON', 'flight':100, 'uns': 12, 'sch': 35 },
   { 'name': 'BILL', 'flight':200, 'uns': 33, 'sch': 45}
];

आउटपुट

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

const arr = [
   { 'name': 'JON', 'flight':100, 'value': 12, type: 'uns' },
   { 'name': 'JON', 'flight':100, 'value': 35, type: 'sch' },
   { 'name': 'BILL', 'flight':200, 'value': 33, type: 'uns' },
   { 'name': 'BILL', 'flight':200, 'value': 45, type: 'sch' }
];
const groupArray = (arr = []) => {
   const res = arr.reduce(function (hash) {
      return function (r, o) {
         if (!hash[o.name]) {
            hash[o.name] = { name: o.name, flight: o.flight };
            r.push(hash[o.name]);
         }
         hash[o.name][o.type] = (hash[o.name][o.type] || 0) + o.value;
         return r;
      }
   }(Object.create(null)), []);
   return res;
};
console.log(groupArray(arr));

आउटपुट

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

[
   { name: 'JON', flight: 100, uns: 12, sch: 35 },
   { name: 'BILL', flight: 200, uns: 33, sch: 45 }
]

  1. जावास्क्रिप्ट में ऑब्जेक्ट डी-स्ट्रक्चरिंग।

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

  1. जावास्क्रिप्ट में वीकमैप ऑब्जेक्ट।

    WeakMap ऑब्जेक्ट में की-वैल्यू पेयर तत्वों के रूप में होता है जहां कुंजी एक ऑब्जेक्ट होनी चाहिए और मान कोई भी आदिम मान या ऑब्जेक्ट हो सकता है। WeakMap में चाबियों के रूप में उपयोग की जाने वाली वस्तुएं कूड़ा करकट होती हैं यदि उनके पास उनका कोई संदर्भ नहीं है। जावास्क्रिप्ट में WeakMap ऑब्जेक्ट के लि

  1. जावास्क्रिप्ट में मानचित्र वस्तु।

    Map ऑब्जेक्ट को ES6 में पेश किया गया था और यह उन तत्वों का एक संग्रह है जो कुंजी और मूल्य युग्म हैं। मानचित्र में एक कुंजी या मान एक वस्तु या एक आदिम मूल्य हो सकता है। जावास्क्रिप्ट में मैप ऑब्जेक्ट के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head>