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

জাভাস্ক্রিপ্টে JSON অ্যারে ডেটা ভিত্তিক মার্জ করা

ধরুন, আমাদের নিচের অবজেক্টের অ্যারে আছে:

const arr = [
  {
    "date" : "2010-01-01",
    "price" : 30
  },
  {
    "date" : "2010-02-01",
    "price" : 40
  },
  {
    "date" : "2010-03-01",
    "price" : 50
  },
  {
    "date" : "2010-01-01",
    "price2" : 45
  },
  {
    "date" : "2010-05-01",
    "price2" : 40
  },
  {
    "date" : "2010-10-01",
    "price2" : 50
  }
];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে গ্রহণ করে। ফাংশনটি অবজেক্টগুলোকেও "date" প্রপার্টি অনুযায়ী মার্জ করবে।

উদাহরণ

const arr = [
  {
    "date" : "2010-01-01", "price" : 30
  },
  {
    "date" : "2010-02-01",
    "price" : 40
  },
  {
    "date" : "2010-03-01",
    "price" : 50
  },
  {
    "date" : "2010-01-01",
    "price2" : 45
  },
  {
    "date" : "2010-05-01",
    "price2" : 40
  },
  {
    "date" : "2010-10-01",
    "price2" : 50
  }
];
const mergeArray = (arr = []) => {
  const data = arr.slice();
  data.sort((a, b) => new Date(a.date) - new Date(b.date))
  const res = []
  data.forEach(el => {
    if(!this[el.date]) {
      this[el.date] = {
        date: el.date,
        price: null,
        price2: null
      }
      res.push(this[el.date])
    }
    this[el.date] = Object.assign(this[el.date], el)
  });
  return res;
}
console.log(JSON.stringify(mergeArray(arr), undefined, 4));

আউটপুট

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

[
  {
    "date": "2010-01-01",
    "price": 30,
    "price2": 45
  },
  {
    "date": "2010-02-01",
    "price": 40,
    "price2": null
  },
  {
    "date": "2010-03-01",
    "price": 50,
    "price2": null
  },
  {
    "date": "2010-05-01",
    "price": null,
    "price2": 40
  },
  {
    "date": "2010-10-01",
    "price": null,
    "price2": 50
  }
]
  1. জাভাস্ক্রিপ্টে দুটি অ্যারে মার্জ করার পদ্ধতি

  2. জাভাস্ক্রিপ্টে Merge Sort ইমপ্লিমেন্ট করার পদ্ধতি

  3. জাভাস্ক্রিপ্টে মার্জ সোর্ট বনাম কুইক সোর্ট

  4. জাভাস্ক্রিপ্ট দিয়ে অ্যারে JSON-এ রূপান্তর করা