اذهب إلى المحتوى
  • 0

كيفية المرور على محتوى كائن Object في JavaScript؟

Mohssen A Mohssen

السؤال

لنفترض أن لدي كائن بسيط بالشكل التالي:

 

const myObj = {
  a: 1, 
  b: 2, 
  c: 3
};

هل توجد حلقة مثل foreach للمرور على كل مفتاح key وقيمة value في الكائن السابق، لطباعتهما معًا؟ أريد أن تكون النتيجة بالشكل التالي:

a 1
b 2
c 3

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك ايضا استعمال التابع entries عن الكائن Object لطباعة كل مفتاح وقيمة على التوالي، يكون ذلك كـ:

Object.entries(obj)

يعيد هذا التابع مصفوفة ثنائية البعد Two-dimensional Arrays ذات ثنائيات مفتاح قيمة كـ:
 

[["p1", "value1"], ["p2", "value2"], ["p3", "value3"]]

يمكنك المرور عليها عن طريق اي تكرار، وليكن for in :

for (const [key, value] of result) {
    console.log(key, value);
}

فتكون كاملة الشيفرة:

const myObj = {
  a: 1, 
  b: 2, 
  c: 3
};

let i = Object.entries(myObj);

for (const [key, value] of i) {
    console.log(key, value);
}

الناتج:

"a", 1
"b", 2
"c", 3
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك المرور على كل العناصر في الـ object بعد طرق واسهلها هو استخدام الـ for in :

const myObj = {
  a: 1, 
  b: 2, 
  c: 3
};

for (key in  myObj) {
  console.log(key + " " + myObj[key])
}

// النتيجة ستكون كالتالي
// a 1
// b 2
// c 3

ويمكنك الاطلاع اكثر على for in من موسوعة حسوب

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هناك أكثر من طريقة للوصول الى نفس النتيجة المطلوبة.

أحدى الطرق تكون كالتالي:

الدالة Object.keys تتيح لك الحصول على جميع مفاتيح الكائن على هيئة مصفوفة 

const myObj = {
  a: 1, 
  b: 2, 
  c: 3
};
const keys= Object.keys(myObj)

المتغير keys يحتوي على المصفوفة المذكورة أنفاً ["a", "b", "c"]

الان نستعمل forEach لكي نمر على جميع قيم المفاتيح

...
keys.forEach(function(key){
....
})
...

الأن نستطيع الحصول على القيم المقابلة لكل مفتاح من خلال الكائن الأصلي والمفتاح الحالي في الدورة الحالية من دالة forEach وكالتالي
 

...
let value = myObj[key]
...

 

الأن أصبح من السهل أخراج النتيجة المراد طباعتها في الكونسول كما يلي

...
console.log(key, value)
...

 

الكود كاملاً

const myObj = {
  a: 1, 
  b: 2, 
  c: 3
};

const keys= Object.keys(myObj)

keys.forEach(function(key){

	let value = myObj[key]
    
	console.log(key, value)
})
	
تم التعديل في بواسطة علي محسن
تنسيق النص
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...