توفيق اسحيمة نشر 7 أكتوبر 2021 أرسل تقرير نشر 7 أكتوبر 2021 (معدل) السلام عليكم لدي هادا المتغير الدي يحتوي على هاته الكلمة دات الحروف المختلطة بين حروف كبيرة وحروف صغيرة let swappedName = "shImA"; احاول ان اتحكم في اعادة جعل الحروف عكس ماهي عليه او بمعنى اخر الحروف الصغيرة تصبح كبيرة والحروف الكبيرة تصبح صغيرة بحيث يكون الناتج كالتالي "SHiMa" ودلك طبعا عن طريق for loop كل محاولاتي بائت بالفشل فمعظم النتائج التي اتحصل عليها اما تكون الكلمة كاملة بحروف كبيرة او العكس جزاكم الله خيرا. تم التعديل في 7 أكتوبر 2021 بواسطة Hassan Hedr توضيح السؤال 2 اقتباس
0 بلال زيادة نشر 7 أكتوبر 2021 أرسل تقرير نشر 7 أكتوبر 2021 يمكنك استخدام دالة toUpperCase في جافاسكريبت بحيث تكون الأسماء لديك بهذا الشكل const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; ثم يمكنك إنشاء for loop بهذا الشكل , ليتم تحويل جميع الكلمات إلى UpperCase عن طريق الدالة toUpperCase for ( let i = 0; i < days.length; i++ ) { days[i] = days[i].toUpperCase(); console.log(days[i]); } فيكون كامل الكود كالتالي const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; for ( let i = 0; i < days.length; i++ ) { days[i] = days[i].toUpperCase(); console.log(days[i]); } 1 اقتباس
0 توفيق اسحيمة نشر 7 أكتوبر 2021 الكاتب أرسل تقرير نشر 7 أكتوبر 2021 بتاريخ 11 دقائق مضت قال بلال زيادة: يمكنك استخدام دالة toUpperCase في جافاسكريبت بحيث تكون الأسماء لديك بهذا الشكل const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; ثم يمكنك إنشاء for loop بهذا الشكل , ليتم تحويل جميع الكلمات إلى UpperCase عن طريق الدالة toUpperCase for ( let i = 0; i < days.length; i++ ) { days[i] = days[i].toUpperCase(); console.log(days[i]); } فيكون كامل الكود كالتالي const days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday']; for ( let i = 0; i < days.length; i++ ) { days[i] = days[i].toUpperCase(); console.log(days[i]); } شكرا لك اخي اعتقد انك لم تفهم المقصود فالدوال toUpperCase and toLowerCase اعرف دورهما لكن في الحالة التي دكرت اعلاه نريد ان نغير شكل تلك الكلمة التي ضمن المتغير بحيت انها تحتوي في نفس الوقت على خليط من الاحرف الكبيرة والصغيرة ما نريده بالضبط هو تحويل الاحرف الكبيرة الى احرف صغيرة وتحويل الاحرف الصغيرة الى احرف كبيرة شكرا لك 1 اقتباس
0 Hassan Hedr نشر 7 أكتوبر 2021 أرسل تقرير نشر 7 أكتوبر 2021 الخوارزمية يمكنك تقسيم النص الى مصفوفة حروف عبر الدالة split بتمرير محرف فارغ لها كالتالي: "shImA".split('') // ['s', 'h', 'I', 'm', 'A'] ثم المرور على مصفوفة الحروف وتغيير حالتها عن طريق الدالة map من أحرف كبيرة إلى صغيرة وبالعكس، عبر مقارنتها بعد التحويل وإعادة الحالة المناسبة كالتالي: "shImA".split('') .map(char => char.toUpperCase() === char ? char : char.toLowerCase()) // ['S', 'H', 'i', 'M', 'a'] ثم إعادة تجميع مصفوفة الحروف إلى نص مجددا عبر الدالة join بتمرير محرف فارغ لتحصل على المطلوب كالتالي: "shImA".split('') .map(char => char.toUpperCase() === char ? char : char.toLowerCase()) .join('') // SHiMa كتابة دالة toggleCase يمكنك كتابة ما سبق في دالة: function toggleCase(text) { return text.split('') .map(char => char.toUpperCase() === char ? char : char.toLowerCase()) .join('') } واستخدامها داخل تطبيقك: let swappedName = "shImA"; console.log(toggleCase(swappedName)) // SHiMa 1 اقتباس
0 شرف الدين حفني نشر 7 أكتوبر 2021 أرسل تقرير نشر 7 أكتوبر 2021 يمكنك تحقيق ذلك عبر التعامل مع الأحرف من خﻻل جدول أسكي (ASCII Table) وهو جدول يُمثل كل حرف وما يُقابله من عدد عشري كان أو ثنائي أو ثماني أو سادس عشر, وتكون الخوارزمية بالشكل التالي عند قرائة جدول الأسكي ستﻻحظ الأتي: الأحرف الكبيرة تبدأ من الرقم العشري 65 وتنتهي عند الرقم 90 الأحرف الصغيرة تبدأ من الرقم العشري 97 وتنتهي عند الرقم 122 مما سبق نستنتج أنه يمكننا تحويل الحرف من كبير إلى صغير عبر إضافة 32 رقم يمكننا تحويل الحرف الصغير إلى كبير عبر طرح 32 رقم ولإيجاد قيمة شفرة الأسكي الخاصة بحرف نقوم بتنفيذ الشفرة التالية let name="sharaf"; let asci_code=name.charCodeAt(0); //////سيقوم بإرجاع قيمة الأسكي كود الخاصة بأول حرف ////s=115 ولتحويل قيمة شفرة الأسكي إلى حرف نقوم بإستخدام الشفرة التالية String.fromCharCode(115); ///يقوم بطباعة s فيكون في النهاية الشفرة البرمجية الخاصة بك على الشكل التالي let swappedName = "shImA"; let arr=swappedName.split(''); for (let i=0;i<arr.length;i++){ let char_code=arr[i].charCodeAt(0); arr[i]=char_code<97?String.fromCharCode(char_code+32):String.fromCharCode(char_code-32); } swappedName=arr.join(""); console.log(swappedName); اقتباس
0 سمير عبود نشر 7 أكتوبر 2021 أرسل تقرير نشر 7 أكتوبر 2021 بإمكانك إستخدام الخوارزمية التالية: إنشاء دالة بالإسم swapString تستقبل معامل من النوع String و تُعيد سلسلة نصية. تعريف متغير محلي يحمل قيمة فارغة مبدئياً و ليكن swapedStr المرور على المحارف المكونة للسلسلة النصية الأصلية عن طريق حلقة و من أجل كل محرف نقوم بِـ: - فحص حالة المحرف إن كان المحرف صغير نُضيف للمتغير swapedStr المحرف الحالي لكن بحالة أكبر و إلا نُضيف المحرف الحالي بحالة أصغر نُعيد قيمة المتغير swapedStr و هذا تطبيق الخوارزمية: function swapString(str) { let swapedStr = ""; for (let c of str) { if(c === c.toLowerCase()) swapedStr += c.toUpperCase(); else swapedStr += c.toLowerCase(); } return swapedStr; } console.log(swapString("shImA")); // SHiMa اقتباس
السؤال
توفيق اسحيمة
السلام عليكم
لدي هادا المتغير الدي يحتوي على هاته الكلمة دات الحروف المختلطة بين حروف كبيرة وحروف صغيرة
احاول ان اتحكم في اعادة جعل الحروف عكس ماهي عليه او بمعنى اخر الحروف الصغيرة تصبح كبيرة والحروف الكبيرة تصبح صغيرة بحيث يكون الناتج كالتالي
"SHiMa"
ودلك طبعا عن طريق for loop
كل محاولاتي بائت بالفشل فمعظم النتائج التي اتحصل عليها اما تكون الكلمة كاملة بحروف كبيرة او العكس
جزاكم الله خيرا.
تم التعديل في بواسطة Hassan Hedrتوضيح السؤال
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.