تبدیل Object به Array و بر عکس در جاوا اسکریپت

در این مقاله قصد دارم به آموزش تبدیل object به آرایه بپردازم و بالعکس.

تبدیل Object به Array

تا قبل از بحث es6 اگه می خواستیم یه object به ارایه تبدیل کنیم باید از حلقه ها استفاده می کردیم.

var numbers = {
  one: 1,
  two: 2
};
var keys = [];
for (var number in numbers) {
  if(numbers.hasOwnProperty(number)){
    keys.push(number)
  }
}
keys; // [ 'one', 'two' ]

خب همینجوری که میبینید برای همچین تبدیلی تعداد خط های زیادی برای برنامه نویسی باید صرف کنید اما es6 اومد اوضاع یه مقدار بهتر کرد. توی es6 اومد Object.keys به دستورات خودش اضافه کرد و با همین دستور کل دستورات بالا برای ما خلاصه کرد توی خودش:

const numbers = {
  one: 1,
  two: 2
}
Object.keys(numbers); // [ 'one', 'two' ]

خب باید بگم روش خوبیه، ولی فقط برای key اگه value خواستیم چی؟ توی es 2017 قضیه بهتر شد اومد دستور Object.values به دستورات خودش اضافه کرد تا اینبار value های object ما بتونیم تبدیل به آرایه کنیم:

const numbers = {
  one: 1,
  two: 2
}
Object.values(numbers);// [ 1, 2 ]

اما باید بگم es 2017 کار به همین جا تموم نکرد، Object.entries به کمک این دستور هم key و هم value تبدیل به آرایه کرد یعنی کار هر دو دستور بالایی یکی کرد:

const numbers = {
  one: 1,
  two: 2
}
Object.entries(numbers); // [ ['one', 1], ['two', 2] ]

تبدیل Array به Object

برای تبدیل آرایه به شی یه دستوری به نام Object.fromEntries وجود داره که کار ما رو به بهترین شکل راحت کرده:

const array = [
  [ 'one', 1 ],
  [ 'two', 2 ]
];
Object.fromEntries(array);// { one: 1, two: 2 }

خب همین طور که دیدید به کمک همین چند دستور کلی از خطوط برنامه نویسی ما کم شدش و یه جورایی به کارایی برنامه نویسی ما هم اضافه شد.



به انتها این مقاله رسیدیم و امیدوارم که نهایت استفاده از این مقاله برده باشید.

ممنون از توجهتون :)