محمد محمود52 نشر 13 سبتمبر 2020 أرسل تقرير نشر 13 سبتمبر 2020 أحتاج مساعدة من فضلكم، أقوم بإرسال طلب بالجافا سكريبت عن طريق Fetch لهذا الرابط : https://api.dictionaryapi.dev/api/v2/entries/en/hello لأ أعلم كيف أصل لهذه المصفوفات المتدخلة، عندما طلبت word عن طريق ;data.word يعطيني undefined، هذا هو الكود:https://www.w3schools.com/code/tryit.asp?filename=GIOT5P19JPWD كيف أصل لأي عنصر أريده فيها؟ 1 اقتباس
0 Wael Aljamal نشر 13 سبتمبر 2020 أرسل تقرير نشر 13 سبتمبر 2020 بتاريخ 3 ساعات قال Mohamd Imran: لو قمنا بإظهار البيانات المسترجعة من ال API ستجد إنها من نوعobject وأنت تقوم بمحاولة إظهار word من object مباشرة لحل المشكلة يجب أن نصل الأوبجيكت بعد ذلك نصل إلى عناصر المصفوفة هكذا يوجد خطأ في نوع البيانات, إن البيانات المسترجعة في هذه الحالة هي من نوع Array of Objects (مصفوفة من الكائنات, JSON Array) [{},{},{}] وتحوي عنصر وحيد (غرض وحيد) في حالتنا هذه ونصل له عن طريق الدليل رقم 0 من المتحول data وهو المتحول الذي يعبر عن البيانات. - يجب أن نصل لعناصر المصفوفة أولا (أي الأغراض) مثال: [data[0, بعد ذلك نصل الى خصائص الغرض مثل (phonetics, word, meanings) . الكود صحيح لكن الكلام في الشرح معكوس. 1 اقتباس
1 Mohamd Imran نشر 13 سبتمبر 2020 أرسل تقرير نشر 13 سبتمبر 2020 (معدل) السلام عليكم أخي @BlackBird بالتأكيد سيقوم بإظهار خطأ undefined لأنه لو قمنا بإظهار البيانات المسترجعة من ال API ستجد إنها من نوعobject وأنت تقوم بمحاولة إظهار word من object مباشرة لحل المشكلة يجب أن نصل الأوبجيكت بعد ذلك نصل إلى عناصر المصفوفة هكذا data[0] ثم نقوم بإظهار العناصر الموجودة مثل كلمة word هكذا data[0].word أو هكذا data[0]['word']; ولعرضها في ال console نقوم بالتالي console.log(data[0].word); تم التعديل في 13 سبتمبر 2020 بواسطة Mohamd Imran خطأ بسيط 1 اقتباس
1 Mohamd Imran نشر 13 سبتمبر 2020 أرسل تقرير نشر 13 سبتمبر 2020 بتاريخ الآن قال BlackBird: @Mohamd Imranشكرا جزيلا أخي الكريم، طيب أخي ماذا لو أردت الوصول إلى القيمة "/həˈloʊ/" الموجودة في: "phonetics" > "text" العفو ,يمكنك ذلك بنفس الطريقة تقريباً أولا نقوم بالوصول إلى العنصر phonetics داخل الأوبجيكت هكذا data[0]['phonetics'] ثم نصل إلى عناصر المصفوفة داخل ذلك العنصر لكن لاحظت أنه ذلك العنصر يحتوي على مصفوفتين لذلك أولا نحدد المصفوفة الأولى هكذا data[0]['phonetics'][0] الأن وصلنا إلى عناصر المصفوفة الأولى داخل عنصر الأوجيكت phonetics الأن نقوم بالوصول إلى العنصر text الذي يحتوي على الكلمة هكذا data[0]['phonetics'][0]['text'] 1 اقتباس
1 Mohamd Imran نشر 14 سبتمبر 2020 أرسل تقرير نشر 14 سبتمبر 2020 بتاريخ 23 ساعات قال Wael Aljamal: يوجد خطأ في نوع البيانات, إن البيانات المسترجعة في هذه الحالة هي من نوع Array of Objects (مصفوفة من الكائنات, JSON Array) [{},{},{}] وتحوي عنصر وحيد (غرض وحيد) في حالتنا هذه ونصل له عن طريق الدليل رقم 0 من المتحول data وهو المتحول الذي يعبر عن البيانات. - يجب أن نصل لعناصر المصفوفة أولا (أي الأغراض) مثال: [data[0, بعد ذلك نصل الى خصائص الغرض مثل (phonetics, word, meanings) . الكود صحيح لكن الكلام في الشرح معكوس. لا يوجد خطأ أخي يطلق عليها الإسمين array of objects أو أوبجيكت لأنها تحتوي الإثنان معنا يعني متعددة يوجد فيها اوبجيكتس والاوبجكتس تحتوي بداخلها مصفوفة 1 اقتباس
0 محمد محمود52 نشر 13 سبتمبر 2020 الكاتب أرسل تقرير نشر 13 سبتمبر 2020 @Mohamd Imranشكرا جزيلا أخي الكريم، طيب أخي ماذا لو أردت الوصول إلى القيمة "/həˈloʊ/" الموجودة في: "phonetics" > "text" 1 اقتباس
0 محمد محمود52 نشر 13 سبتمبر 2020 الكاتب أرسل تقرير نشر 13 سبتمبر 2020 @Mohamd Imranرائع أخي شكرا لك 1 اقتباس
السؤال
محمد محمود52
أحتاج مساعدة من فضلكم، أقوم بإرسال طلب بالجافا سكريبت عن طريق Fetch لهذا الرابط : https://api.dictionaryapi.dev/api/v2/entries/en/hello
لأ أعلم كيف أصل لهذه المصفوفات المتدخلة، عندما طلبت word عن طريق ;data.word يعطيني undefined،
هذا هو الكود:
https://www.w3schools.com/code/tryit.asp?filename=GIOT5P19JPWD
كيف أصل لأي عنصر أريده فيها؟
6 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.