2اجابات
بحاجة إلى مساعدة في وظيفة toUpperCase()
الاجابات
تاريخ النشر
2023/08/31
حبيب الله خان
صاحب السؤال
محتوى السؤال
أهلاً بك،
أنا أعمل على تطبيق يتعامل مع الأسماء الأجنبية. لضمان الاتساق في الكتابة بالأحرف الكبيرة، أستخدم دالة toUpperCase() مشابهة لهذه (https://www.scaler.com/topics/touppercase-javascript/). ومع ذلك، فقد اكتشفت أن الكتابة بالأحرف الكبيرة للعديد من الأسماء غير الإنجليزية غير صحيحة. يبدو أن هذا النهج يستخدم معايير اللغة الإنجليزية.
كيف يمكنني جعل الدالة toUpperCase() تعمل مع أحرف غير إنجليزية مع اتباع قواعد الكتابة بالأحرف الكبيرة اللازمة بناءً على لغة الاسم؟
أي اقتراحات أو أفكار سيكون موضع تقدير كبير!
الإجابات (2)
سامي الشامي
2024/02/02
يفضل هنا انشاء دالة بنفسك وتجربتها وتعديلها لتناسب الاستخدام
اسراء وديع سمكرى
2023/09/19
على حسب معرفتي بدالة toUpperCase() فإنها تجعل جميع أحرف الكلمة كبيرة.
واستطيع ان اخمن كيف تم كتابتها.
لنقل انك استدعيت هذه الدالة، فهي بالغالب ستتبع هذه الخطوات:
1- تنشئ متغير جديد
2- تبدأ بالحرف الأول من الكلمة/الجملة
3-تحوله الى حرف كبير وذلك باستعمال مصفوفتين للمقارنة بين مكان الحرف الكبير بالنسبة للصغير ومعرفة الـ index
4- إضافة الحرف الكبير الى المتغير الجديد
5- الانتقال الى الحرف التالي وإعادة الخطوات من 2 الى 5 حتى انتهاء كل الأحرف الموجودة في الكلمة/الجملة
كتبت هذا الكود لتبرير الخطوات التي ذكرتها لك:
[removed]
let lowerCase = ['a', 'b', 'c', 'd', 'e'] // from 'a' to 'a'
let upperCase = ['A', 'B', 'C', 'D', 'E'] // from 'A' to 'Z'
var oldTxt = "abc cde"
var newTxt = ""
for(let i = 0; i < oldTxt.length; i++){
currentChar = oldTxt.charAt(i);
index = lowerCase.indexOf(currentChar);
if(index == -1)
newTxt += currentChar;
else
newTxt += upperCase[index];
}
console.log(newTxt);
[removed]
تستطيع استخدام الكود الموجود بالأعلى للتعديل عليه بما يناسب فكرتك.