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

السؤال

نشر

أحتاج مساعدة من فضلكم، أقوم بإرسال طلب بالجافا سكريبت عن طريق Fetch لهذا الرابط : https://api.dictionaryapi.dev/api/v2/entries/en/hello
لأ أعلم كيف أصل لهذه المصفوفات المتدخلة، عندما طلبت word عن طريق ;data.word يعطيني undefined،
هذا هو الكود:
https://www.w3schools.com/code/tryit.asp?filename=GIOT5P19JPWD
كيف أصل لأي عنصر أريده فيها؟

Recommended Posts

  • 0
نشر
بتاريخ 3 ساعات قال Mohamd Imran:

لو قمنا بإظهار البيانات المسترجعة من ال API ستجد إنها من نوعobject وأنت تقوم بمحاولة إظهار word من  object مباشرة  لحل المشكلة يجب أن نصل الأوبجيكت بعد ذلك نصل إلى عناصر  المصفوفة هكذا 

يوجد خطأ في نوع البيانات, إن البيانات المسترجعة في هذه الحالة هي من نوع Array of Objects (مصفوفة من الكائنات, JSON Array) [{},{},{}] وتحوي عنصر وحيد (غرض وحيد)  في حالتنا هذه ونصل له عن طريق الدليل رقم 0 من المتحول data وهو المتحول الذي يعبر عن البيانات.

- يجب أن نصل لعناصر المصفوفة أولا (أي الأغراض) مثال: [data[0, بعد ذلك نصل الى خصائص الغرض مثل (phonetics, word, meanings) .

الكود صحيح لكن الكلام في الشرح معكوس.

  • 1
نشر (معدل)

السلام عليكم أخي @BlackBird

بالتأكيد سيقوم بإظهار خطأ undefined لأنه لو قمنا بإظهار البيانات المسترجعة من ال API ستجد إنها من نوعobject وأنت تقوم بمحاولة إظهار word من  object مباشرة  لحل المشكلة يجب أن نصل الأوبجيكت بعد ذلك نصل إلى عناصر  المصفوفة هكذا 

data[0]

ثم نقوم بإظهار العناصر الموجودة مثل كلمة word هكذا 

data[0].word
  
  أو هكذا
  
  data[0]['word'];

ولعرضها في ال console نقوم بالتالي

console.log(data[0].word);

 

تم التعديل في بواسطة Mohamd Imran
خطأ بسيط
  • 1
نشر
بتاريخ الآن قال BlackBird:

@Mohamd Imranشكرا جزيلا أخي الكريم، طيب أخي ماذا لو أردت الوصول إلى القيمة "/həˈloʊ/" الموجودة في:
"phonetics" > "text" 
 

العفو ,يمكنك ذلك بنفس الطريقة تقريباً أولا نقوم بالوصول إلى العنصر phonetics داخل الأوبجيكت هكذا 

data[0]['phonetics']

ثم نصل إلى عناصر المصفوفة داخل ذلك العنصر لكن لاحظت أنه ذلك العنصر يحتوي على مصفوفتين لذلك أولا نحدد المصفوفة الأولى هكذا 

data[0]['phonetics'][0]

الأن وصلنا إلى عناصر المصفوفة الأولى داخل عنصر الأوجيكت phonetics الأن نقوم بالوصول إلى العنصر text الذي يحتوي على الكلمة هكذا 

data[0]['phonetics'][0]['text']

 

  • 1
نشر
بتاريخ 23 ساعات قال Wael Aljamal:

يوجد خطأ في نوع البيانات, إن البيانات المسترجعة في هذه الحالة هي من نوع Array of Objects (مصفوفة من الكائنات, JSON Array) [{},{},{}] وتحوي عنصر وحيد (غرض وحيد)  في حالتنا هذه ونصل له عن طريق الدليل رقم 0 من المتحول data وهو المتحول الذي يعبر عن البيانات.

- يجب أن نصل لعناصر المصفوفة أولا (أي الأغراض) مثال: [data[0, بعد ذلك نصل الى خصائص الغرض مثل (phonetics, word, meanings) .

الكود صحيح لكن الكلام في الشرح معكوس.

لا يوجد خطأ أخي يطلق عليها الإسمين array of objects أو أوبجيكت لأنها تحتوي الإثنان معنا :) يعني متعددة يوجد فيها اوبجيكتس والاوبجكتس تحتوي بداخلها مصفوفة 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...