Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задача с вложенным циклом и методом charCodAt (https://javascript.ru/forum/misc/20881-zadacha-s-vlozhennym-ciklom-i-metodom-charcodat.html)

biz87 21.08.2011 14:32

Задача с вложенным циклом и методом charCodAt
 
Помогите пожалуйста разобраться, почему не работает решение задачи.
Суть задачи: У вас есть массив:
/* var students = ["Илья","Greg", "Алина"];*/

Вам надо пройтись по каждому элементу этого массива и выяснить в каком элементе массива есть буквы,
которые не попадают в диапазон русских букв.
Вот мое решение. Я уверен что все сделал правильно, все перепроверил тысячу раз, но где-то закралась ошибка.
var students = ["Илья","Greg", "Алина"];
for(i = 0; i < students.length; i++)
{	
	
	for(j = 0; j < students[i].length; j++)
	{
		if(students[i].charCodAt(j) < 1040 || students[i].charCodAt(j) > 1130)
		{
			document.write("В слове " + students[i] + " не все буквы русские. А именно буква " + students[i].charAt(j));
		}
		
	}
}

Sweet 21.08.2011 14:52

Цитата:

Сообщение от biz87
Вам надо

Не нам, а вам;) Может дело в использовании document.write? А вообще, есть способ проще:
var students = ["Илья","Greg", "Алина"],
    regExp = /[^А-яёЁ]/; 
for( var i = 0; i < students.length; i++)
  if( regExp.test( students[ i ] ) )
    alert( students[ i ] );

melky 21.08.2011 14:52

линия 7

...students[i].*!*charCodAt*/!*(j)....


пропущена буква, надо charCodeAt

biz87 21.08.2011 14:58

Огромное спасибо. Так и знал что где то синтаксическая ошибка была.

biz87 21.08.2011 15:00

Цитата:

Сообщение от Sweet
Не нам, а вам

Это я текст задачи скопировал.
Я только учусь писать скрипты на javascript. Уверен что есть способы получше для решения приведенной задачи, но она идет к определенной теме, и надо было решить ее уже изученными приемами.


Часовой пояс GMT +3, время: 00:37.