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

জাভাস্ক্রিপ্টে প্রপার্টি অনুযায়ী অবজেক্ট পৃথক করা


ধরুন, আমাদের কাছে একটি অবজেক্ট আছে −

const obj = {    0: { "time": 1, "day": 1, },    1: { "time": 2, "day": 1, },    2: { "time": 3, "day": 1, },    3: { "time": 1, "day": 2, },    4: { "time": 2, "day": 2, },    5: { "time": 3, "day": 2, } }; 

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

আউটপুট

উপরোক্ত অবজেক্ট-র জন্য আউটপুট হওয়া উচিত −

const output = { '1': { '1': { time: 1, day: 1 }, '2': { time: 2, day: 1 }, '3': { time: 3, day: 1 } }, '2': { '1': { time: 1, day: 2 }, '2': { time: 2, day: 2 }, '3': { time: 3, day: 2 } } }

উদাহরণ

কোডটি নিচে দেওয়া হলো −

const obj = {    0: { "time": 1, "day": 1, },    1: { "time": 2, "day": 1, },    2: { "time": 3, "day": 1, },    3: { "time": 1, "day": 2, },    4: { "time": 2, "day": 2, },    5: { "time": 3, "day": 2, } }; const groupObject = obj => {    let res = {};    res = Object.values(obj).reduce((acc, val) => {       if(acc[val['day']] === undefined){          acc[val['day']] ={};       };       acc[val['day']][val['time']] = val;       return acc;    },{});    return res; }; console.log(groupObject(obj));

আউটপুট

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

{    '1': {       '1': { time: 1, day: 1 },       '2': { time: 2, day: 1 },       '3': { time: 3, day: 1 }    },    '2': {       '1': { time: 1, day: 2 },       '2': { time: 2, day: 2 },       '3': { time: 3, day: 2 }    } }

  1. জাভাস্ক্রিপ্টে অবজেক্ট সমতা ব্যাখ্যা

  2. জাভাস্ক্রিপ্টে স্ট্যাটিক প্রোপার্টি

  3. জাভাস্ক্রিপ্টে শেয়ার্ড প্রোপার্টি

  4. জাভাস্ক্রিপ্টে ভ্যালু অনুযায়ী অবজেক্ট গ্রুপ করা