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

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' } ];

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

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

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>Document</title> <style>    b

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

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

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

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