'November': mm == 12? 'December': ''; إذا لم تشاهد المشغلين الشرطيين المتشابكين قبل ذلك قد يبدو من الصعب قراءتها في البداية. تفقيط الارقام باللغة الانجليزية excel 2010. كتابة ذلك كتعبير يجعل من السهل رؤية أحد الجوانب أكثر من الرمز الأصلي ؛ من الواضح أن الغرض من الرمز هو تعيين قيمة month المتغير. يمكنك إنشاء مصفوفة بدلاً من ذلك والبحث عن اسم الشهر: var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] var month = months[mm-1] || ''; انظر إجابةCupawnTae للعقلاني وراء الكود || '' || '' var getMonth=function(month){ //Return string to number. var strMonth = ['January', 'February', 'March', 'November', 'December']; //return number to string. var intMonth={'January':1, 'February':2, 'March':3, 'April':4, 'May':5, 'June':6, 'July':7, 'August':8, 'September':9, 'October':10, 'November':11, 'December':12}; //Check type and return return (typeof month === "number")? strMonth[month-1]:intMonth[month]}
بشكل أساسي ، يمكنك إخفاء الكلمة الرئيسية وإرجاع قيمة مناسبة مباشرة. هذا التكتيك مفيد إذا كان لا يمكن تخزين القيمة في جدول بحث مسبق. function foo(mm) { case '1': return 'January'; case '2': return 'February'; case '3': return 'March'; case '4': return 'April'; // [... ] case '12': return 'December';} return '';} مرة أخرى ، فإن استخدام جدول البحث أو دالات التاريخ أكثر وضوحا وأفضل بشكل ذاتي. ماذا عن عدم استخدام مجموعة على الإطلاق:) var objDate = new Date("10/11/2009"), locale = "en-us", month = LocaleString(locale, { month: "long"}); (month); // or if you want the shorter date: (also possible to use "narrow" for "O" (LocaleString(locale, { month: "short"})); وفقا لهذه الإجابة على اسم شهر من تاريخ من ديفيد ستوري يمكنك أن تكتبها كتعبير بدلاً من مفتاح تبديل ، باستخدام عوامل تشغيل شرطية: var month = mm == 1? 'January': mm == 2? 'February': mm == 3? 'March': mm == 4? 'April': mm == 5? 'May': mm == 6? 'June': mm == 7? الماس لتطوير الذات والتعلم الذاتي: تفقيط تحويل الأعداد لكلمات عربى وانجليزى اونلاين. 'July': mm == 8? 'August': mm == 9? 'September': mm == 10? 'October': mm == 11?
var month = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][mm-1] || ''; بناء على الجواب Cupawn تاي السابق كنت تقصير إلى: var months = ['January', 'February',... ]; var month = (mm >= 1 && mm <= 12)? تفقيط الارقام باللغة الانجليزية excel. months[mm - 1]: ''; بدلاً من ذلك ، نعم ، أقدر ذلك ، وأقل قابلية للقراءة: var month = months[mm - 1] || ''; // as mentioned further up جرب هذا: var months = {'1': 'January', '2': 'February'}; //etc var month = months[mm]; لاحظ أن mm يمكن أن تكون عددًا صحيحًا أو سلسلة وستظل تعمل. إذا كنت تريد أن تؤدي المفاتيح غير الموجودة إلى سلسلة فارغة '' (بدلاً من undefined) ، فقم بإضافة هذا السطر: month = (month == undefined)? '': month; JSFiddle. سأذهب لحل ، ولكن تعديله على هذا: var month = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][mm-1] || ''; هذا هو نفس الكود بالضبط ، ولكن بشكل مختلف ، والذي يجعله IMO أكثر قابلية للقراءة. للتأكد من اكتمالها ، أود أن أكمل الإجابات الحالية.