saranekonam 0 ارسال شده در مهر 96 گزارش بازنشر ارسال شده در مهر 96 بنده یک کدی در جاوااسکریپت داشتم بررسی میکردم ک کلمه ای ک بهش میدیم ایا برعکسش همون میشه یا نه ولی درقسمت هایی از کد سخته مفهومش رو بدونم میخواستم بدونم این قسمت replace(/[^a-zA-Z0-9]+/g,'') و این قسمت (cstr[x] != cstr.slice(-1-x)[0]) از کد زیر چه کاری رو انجام میدن کد کامل: function check_Palindrome(str_entry){ var cstr = str_entry.toLowerCase().replace(/[^a-zA-Z0-9]+/g,''); var ccount = 0; if(cstr==="") { alert("Nothing found!"); return false; } if ((cstr.length) % 2 === 0) { ccount = (cstr.length) / 2; } else { if (cstr.length === 1) { alert("Entry is a palindrome."); return true; } else { ccount = (cstr.length - 1) / 2; } } for (var x = 0; x < ccount; x++) { if (cstr[x] != cstr.slice(-1-x)[0]) { alert("Entry is not a palindrome."); return false; } } alert("The entry is a palindrome."); return true; } نقل قول لینک به ارسال
Mirrajabi 455 ارسال شده در مهر 96 گزارش بازنشر ارسال شده در مهر 96 در 21 ساعت قبل، saranekonam گفته است : آپ replace(/[^a-zA-Z0-9]+/g,'') سلام. کد بالا یک عبارت منظم در جاوا اسکریپت ایجاد میکنه که فقط شامل حروف انگلیسی بزرگ و کوچک a تاz و عدد 0 تا 9 می باشد و فاصله و غیره را نمی پذیرد. cstr.slice(-1-x)[0] این کد هم کلمه انتها یک عبارت را می گیرد . (cstr[x] != cstr.slice(-1-x)[0]) مقدار گرفته شده با مقدارcstr[x] مقایسه میشود به عنوان مثال : متغیر s='abcde' s[0] مساوی میشه با a اما [0] s.slice(-1)یعنی از آخر خونه صفرم که میشه e > var s = 'abcde' "abcde" > s[0] "a" > s.slice(-1) "e" > s.slice(-1)[0] "e" > s[1] "b" > s.slice(-1 - 1) "de" > s.slice(-1 - 1)[0] "d" حال چون کد پایین در حلقه قرار گرفته تمام کلمات رو تک به تک چک می کنه. (cstr[x] != cstr.slice(-1-x)[0]) 2 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .