آموزش نوشتن حلقه برای ویژگی های یک آبجکت در جاوا اسکریپت

فرض کنید آبجکت زیر را در اختیار داریم:

var obj = {
    name: "FuLLKade",
   url: "https://fullkade.com",
   author: "Hadi Akbarzadeh"
}

اکنون قصد داریم تا حلقه‌ای نوشته و آن حلقه، کدی را برای هریک از مقادیر (ویژگی‌ها و کلیدهای) داخل این آبجکت برایمان اجرا کند. یعنی هربار که حلقه اجرا می‌شود، ما اسم ویژگی (کلید) و مقدار آن را در اختیار داشته باشیم.

روش اول: for in

با استفاده از for in، به‌صورت زیر عمل می‌کنیم:

for( var key in obj ) {
  var value = obj[key];
  // ...
}

key همان کلید، نام و یا ویژگی است؛ برای مثال در آبجکت بالا، می‌تواند name، url و یا author باشد. سپس مقدار ویژگی را در بدنه‌ی حلقه و توسط کلید فعلی بدست می‌آوریم.


نکته: می‌توان قبل از آنکه از کلید استفاده کرد، وجود آن را به‌عنوان یک ویژگی در آبجکت مورد نظر بررسی نمود. چراکه ممکن است یک تابع نیز باشد!

for (var key in obj){
    if (target.hasOwnProperty(key)) {
         var value = obj[key];
         // ...
    }
}

بنابراین بایستی قبل از استفاده، بررسی کرد که آیا یک ویژگی است یا خیر.

روش دوم: for of

این قطعه‌کد را می‌توانید در نسخه‌های جدید جاوا اسکریپت استفاده کنید.

for ( const [key,value] of Object.entries( obj ) ) {

}

در اینجا نیازی نیست تا هر بار مقدار value را به‌صورت جدا استخراج کنیم. همچنین نیازی به بررسی این موضوع که آیا یک ویژگی می‌باشد نیز وجود ندراد.


روش‌های دیگری نیز وجود دارند؛ اما پیشنهاد نمی‌شوند.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک