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

2D टेबुलर डेटा को JavaScript में ऑब्जेक्ट्स की सरणी में बदलना


मान लीजिए, हमारे पास सरणियों की एक सरणी है जैसे -

const arr = [    ["Ashley","2017-01-10",80],    ["Ashley","2017-02-10",75],    ["Ashley","2017-03-10",85],     ["Clara","2017-01-10",90],    ["Clara","2017-02-10",82] ];

हमें एक JavaScript फ़ंक्शन लिखना है जो ऐसी एक सरणी को पहले और एकमात्र इनपुट के रूप में लेता है।

फ़ंक्शन को फिर इनपुट सरणी के आधार पर ऑब्जेक्ट्स की एक नई सरणी बनानी चाहिए। सरणी में इनपुट सरणी के प्रत्येक अद्वितीय उप-सरणी के लिए एक ऑब्जेक्ट होना चाहिए। (अद्वितीय से, इस संदर्भ में, हमारा मतलब है कि उप-सरणी जिनका पहला तत्व अद्वितीय है)।

प्रत्येक ऑब्जेक्ट में निम्नलिखित स्कीमा होना चाहिए -

const output = [    {"name":"Ashley", "2017-01-10":80, "2017-02-10":75, "2017-03-10":85},    {"name":"Clara", "2017-01-10":90, "2017-02-10":82} ];

उदाहरण

const arr = [    ["Ashley","2017-01-10",80],    ["Ashley","2017-02-10",75],    ["Ashley","2017-03-10",85],    ["Clara","2017-01-10",90],    ["Clara","2017-02-10",82] ]; const groupArray = (arr = []) => {    let grouped = [];    grouped = arr.reduce(function (hash) { return function (r, a) {       if (!hash[a[0]]) {          hash[a[0]] = {             name: a[0] };             r.push(hash[a[0]]);       }       hash[a[0]][a[1]] = a[2];       return r;    }; } (Object.create(null)), []);    return grouped; } console.log(groupArray(arr));

आउटपुट

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

[    { name: 'Ashley',    '2017-01-10': 80,    '2017-02-10': 75,    '2017-03-10': 85    },    { name: 'Clara',    '2017-01-10': 90,    '2017-02-10': 82 } ]

  1. JavaScript Array.entries(): की-वैल्यू पेयर इटरेटर JavaScript Array.entries(): की-वैल्यू पेयर इटरेटर

    Array.prototype.entries() मेथड एक नया एरे इटरेटर ऑब्जेक्ट लौटाता है जिसमें एरे के प्रत्येक इंडेक्स के लिए [key, value] जोड़े होते हैं। यह for...of लूप के साथ इंडेक्स और मान दोनों प्राप्त करने के लिए आदर्श है। उदाहरण { fillEle.innerHTML = ; for (const [key, value] of entries) {

  1. JavaScript में ऐरे ऑब्जेक्ट की लंबाई JavaScript में ऐरे ऑब्जेक्ट की लंबाई

    JavaScript में Length प्रॉपर्टी ऑब्जेक्ट का आकार लौटाती है। स्ट्रिंग और ऐरे ऑब्जेक्ट की लंबाई के लिए कोड निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i

  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> &n