কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্ট অ্যারে গ্রুপিং: tableName অনুযায়ী ডেটা সংগঠন


মান লজিয়ে, আমাদের নিচের মতো একটি জাভাস্ক্রিপ্ট অ্যারে আছে −

const data = [
  {
    "dataId": "1",
    "tableName": "table1",
    "column": "firstHeader",
    "rows": [
      "a","b","c"
    ]
  },
  {
    "dataId": "2",
    "tableName": "table1",
    "column": "secondHeader",
    "rows": [
      "d","e","f",
    ]
  },
  {
    "dataId": "3",
    "tableName": "table2",
    "column": "aNewFirstHeader",
    "rows": [
      1,2,3
    ]
  }
];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে নেয়। ফাংশনটি মূল অ্যারে-র ভিত্তিতে একটি নতুন গ্রুপ করা অবজেক্টের অ্যারে তৈরি করবে।

গ্রুপ করা অ্যারে-তে প্রতিটি অনন্য "tableName" অবজেক্টের ডেটা আলাদা আলাদা অবজেক্ট-এ থাকবে।

সুতরাং, চূড়ান্ত আউটপুট হবে নিচের মতো −

const output = [
  {
    "tableName": "table1",
    "column": ["firstHeader", "secondHeader"],
    "rows": [["a","b","c"], ["d","e","f"]]
  },
  {
    "tableName": "table2",
    "column": ["aNewFirstHeader"],
    "rows": [[1,2,3]]
  }
];

উদাহরণ

const arr = [
  {
    "dataId": "1",
    "tableName": "table1",
    "column": "firstHeader",
    "rows": [ "val","b","c" ]
  },
  {
    "dataId": "2",
    "tableName": "table1",
    "column": "secondHeader",
    "rows": [
      "d","e","f",
    ]
  },
  {
    "dataId": "3",
    "tableName": "table2",
    "column": "aNewFirstHeader",
    "rows": [
      1,2,3
    ]
  }
];
const groupArray = (arr = []) => {
  const res = arr.reduce((obj => (acc, val) => {
    let item = obj.get(val.tableName);
    if (!item) {
      item = {
        tableName: val.tableName, column: [], rows: []
      }
      obj.set(val.tableName, item); acc.push(item);
    };
    item.column.push(val.column); item.rows.push(val.rows);
    return acc;
  })(new Map), []);
  return res;
};
console.log(JSON.stringify(groupArray(arr), undefined, 4));

আউটপুট

কনসোলে আউটপুট হবে −

[
  {
    "tableName": "table1",
    "column":
    [
      "firstHeader",
      "secondHeader"
    ],
    "rows": [
      [
        "val", "b", "c"
      ],
      [
        "d", "e", "f"
      ]
    ]
  },
  {
    "tableName": "table2",
    "column": [
      "aNewFirstHeader"
    ],
    "rows": [
      [
        1, 2, 3
      ]
    ]
  }
]

  1. জাভাস্ক্রিপ্ট Array shift() মেথড

  2. জাভাস্ক্রিপ্ট Array reverse() মেথড

  3. জাভাস্ক্রিপ্টে অ্যারে ডিস্ট্রাকচারিং

  4. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা