Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему так происходит? (https://javascript.ru/forum/misc/37366-pochemu-tak-proiskhodit.html)

dima*** 22.04.2013 09:03

Открывается :Ctrl + Shift + I

dima*** 22.04.2013 09:05

Не,а если 100 авторов?У нас же есть b[i][1].Нужно как-то их соединить.

dima*** 22.04.2013 09:11

b[i][1] и b[i][0][j][k].i-одно.Должен какой-то способ быть?Или нет?

skrudjmakdak 22.04.2013 09:26

>>> Да,так я открывал.А как пользоваться я не знаю.

вот пример:
<html>
	<body>
<script type="text/javascript">
//вот пара примеров как пользоваться консолью
var array = [24, 67, 46, 30];
console.log(array); //выведем массив
console.log(array[5]); //обратимся к 5му элементу массива
var n = array[5]; // запишем в переменную 5й элемент массива
console.log(n[1]); //выведем 1-й элемен массива n
</script>
	</body>
</html>




теперь смотрим в консоль:
начнем со второй строчки:
Array [24, 67, 46, 30] index2.php:4
эта строчка нам показывает массив. все нормально, т.к. мы сначала и хотели вывести содержимое массива console.log(array);
чуть правее мы видим вот такое: index2.php:4
что это? index2.php - это имя файла где произошел вызов консоли, а 4 - это строчка в этом файле. все очень просто. идем далее:

далее мы вывели 5-й элемент массива array. но т.к. массив состоит всего из 4-х элементов, то в ответе мы видим undefined. это значит не определено. т.е. элемента нет. но ошибки не происходит!!! мы просто обратились за пределы массива
undefined index2.php:5
так же мы видим что консоль была вызвана на 5-й строчке..

теперь возвращаемся обратно.. смотрим:
ncaught exception: TypeError: Cannot convert 'n' to object

Error thrown at line 9, column 0 in http://test2.ru/index2.php:
console.log(n[1]);

это ошибка. line 9 - это на 9-й линии(строчке) произошло.
вот нам показывают то место где это произошло: console.log(n[1]);
смотрим в код. и видим, что n = undefined; а не массив.. а мы обращаемся как к массиву, из за этого и ошибка.

Cannot convert 'n' to object - это описание ошибки. переводится примерно: "Невозможно преобразовать 'N' к объекту". т.е. n - не объект(массив)
перевести можно на translate.google.ru (если знание англ не очень)

skrudjmakdak 22.04.2013 09:29

>>> Не,а если 100 авторов?У нас же есть b[i][1].Нужно как-то их соединить.

авторы массивом идут или откуда они берутся?

dima*** 22.04.2013 09:34

Я с самого начала не понимаю.
Нужно создать файл сначала,потом вывести его в опере,затем открыть консоль?А если у меня все файлы в Adobe Dreamweaver?

dima*** 22.04.2013 09:35

Авторы у нас в b[i][1](Нохчо,ФК Орга,anzor95)

skrudjmakdak 22.04.2013 09:48

>>> Нужно создать файл сначала, потом вывести его в опере,затем открыть консоль?А если у меня все файлы в Adobe Dreamweaver?

так ничего страшного. ваш Adobe Dreamweaver хранит же файл с кодом где то.. создаете файл, запускайте в опере, открывайте консоль и смотрите, что туда вывалилось..

можно вообще проще все. создаете обычный блокнот, туда кидайте свой код (можно для начала пример мой).
потом нажимаем (вверху слева) файл->сохранить как.
пишите "имя_файла.html" и сохранить. и запустите.. и можете открыть консоль

>>> Авторы у нас в b[i][1](Нохчо,ФК Орга,anzor95)

ммм... а можно весь код который у вас сейчас есть?? я гляну и скажу

dima*** 22.04.2013 09:49

Должно получится,как-то так.

arr=[[[Нохчо][Самашки,Вайнах,1,4][Берд,Лидер,2,3]...[Марта,Сунжа,2,1]]
[[ФК Орга][Самашки,Вайнах,1,3][Берд,Лидер,0,2]...[Марта,Сунжа,1,2]]
[[anzor95][Самашки,Вайнах,1,1][Берд,Лидер,1,3]...[Марта,Сунжа,2,1]]].

dima*** 22.04.2013 09:51

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Документ без названия</title>
	</head>
	
    <body>
	<p style='display:none'>
	• Самашки - Вайнах 1:4
	Берд - Лидер 2:3
	ЧГУ - Низам 1:2
	Родник - Авангард 2:1
	Тайфун - Динамо 0:2
	Казбек-Горец 0:2
	Спартак - Мартан 2:1
	ЧГПИ - Даймохк 1:1
	Марта - Сунжа 2:1 05.11.12 22:42 Нохчо Правка ip inf 
	 
	• Самашки-Вайнах 1:3
	Берд-Лидер 0:2
	ЧГУ-Низам 2:2
	Родник-Авангард 1:2
	Тайфун-Динамо 1:3
    Казбек-Горец 0:4
	Спартак-Мартан 0:0
	ЧГПИ-Даймохк 1:5
    Марта-Сунжа 1:2 05.11.12 22:56 ФК Орга Правка ip inf 
	 
	• Самашки-Вайнах 1-1
	Берд-Лидер 1-3
	ЧГУ-Низам 1-2
	Родник-Авангард 2-3
	Тайфун-Динамо 1-3
	Казбек-Горец 1-4
	Спартак-Мартан 2-1
	ЧГПИ-Даймохк 1-3
	Марта-Сунжа 2-1
	05.11.12 22:58 anzor95 Правка ip inf 
	 
	</p>
	
<script>
   var a1 = document.getElementsByTagName('p')[0].innerHTML;
a1 = a1.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
	
var b1=a1.split(/\sПравка\sip\sinf/); 
//if (typeof b1[b1.length - 1] != 'object')
//b1.splice(b1.length - 1, 1);

//document.write(b1);
for (var i=0;i<b1.length-1; i++){
//document.write(b1[0]+'<br>');

	b1[i]= b1[i].split(/\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s/); 
//document.write(b1[i][0]);
//}
	
//	for (var j=0;j<b1[i].length; j++){
	
	b1[i][0]=b1[i][0].split(/\n/);

	for (var k =0; k < b1[i][0].length; k++){
	
	//document.write(b1[i][0][k]+'<br>');
	//}} 

var rega = /\d|[А-Яа-я]+/ig;
 
 b1[i][0][k]=b1[i][0][k].match(rega);
//for (var l=0; l< b1[i][0][k].length; l++){
if (b1[i][0][k] != null){
//document.write(b1[i][0][k]+'<br>');
//}}
for (var l =0; l< b1[i][0][k].length ;l++){

document.write(b1[i][0][k][l]+'<br>');
}}}}


</script>
</body>
</html>

dima*** 22.04.2013 09:53

Пока так,с document.write.Пока с консолью не разберусь.

dima*** 22.04.2013 10:01

Блин,на самом интересном месте.Всё,убежал на работу...

skrudjmakdak 22.04.2013 10:20

>>> Должно получится,как-то так.
оно так и есть

var a1 = document.getElementsByTagName('p')[0].innerHTML;
a1 = a1.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
	
var b1=a1.split(/\sПравка\sip\sinf/); 

for (var i=0;i<b1.length-1; i++)
	{
	b1[i]= b1[i].split(/\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s/); 
	document.write('<br><br>' + b1[i][1] + ':');
	b1[i][0]=b1[i][0].split(/\n/);
	for (var k =0; k < b1[i][0].length; k++)
		{
		var rega = /\d|[А-Яа-я]+/ig;
		b1[i][0][k]=b1[i][0][k].match(rega);
		if (b1[i][0][k] != null)
			{
			document.write('[' + b1[i][0][k].join(',') + ']');
			/*for (var l =0; l< b1[i][0][k].length ;l++)
				{
				document.write(b1[i][0][k][l]+'<br>');
				}*/
			}
		}
	}
console.log(b1)

skrudjmakdak 22.04.2013 10:51

http://notepad-plus-plus.org/download/v6.3.2.html
там зелененькая кнопочка.. Download.
скачайте, установите.. это тот же блокнот, только с подсветкой программного кода.

dima*** 22.04.2013 13:46

Спасибо,большое!

Нотепад,я сразу скачал,как вы сказали.Просто,пока не изучил.

dima*** 22.04.2013 14:05

А как к ним обращаться?
Например,ФК Орга:ЧГПИ...

skrudjmakdak 22.04.2013 14:27

с нотепадом то? обычный редактор. создаете файл, если уже есть файл открывайте.. редактируйте и сохраняйте (только html или php). потом открывайте эту html-ку браузером.. если запущен сервер то открывайте браузер и пропивывайте url (localhost)

skrudjmakdak 22.04.2013 14:29

давайте начнем с того. что вы вообще знайте.. что бы я мог ориентироваться на что то.. изучали ли вы другие языки? или js это первый?

есть знания (так хотя бы начинающие) c++, php, java c#, pascal, basic??? или может еще что?

dima*** 22.04.2013 20:14

Яваскрипт-первый язык,который изучал по "Самоучителю Дунаева".Информатики не в школе,не в других учебных заведениях не было.Остальные языки не изучал.
Объекты изучал по этому сайту.

Нотепад-закачал и всё.Собирался в майские праздники разобраться.

Английский -только через ГУГЛ.Изучал французский.

А как к ним обращаться?
Например,ФК Орга:ЧГПИ...
Через объект,наверное,смог бы.А через массив,как?

Всё воскресенье разбирался с split в for.Я,что-то "загнался" с элементами массива после for,поэтому глупые вопросы.Спасибо,что помогли с этим.Разобрался.

i c l перепутал-это "пересидел" за компом и невнимательность.Тупая ошибка.
Ну,да,убедили,Adobe Dreamweaver-не для Яваскрипт.Нужно переходить на Нотепад.

skrudjmakdak 22.04.2013 23:04

ну я почти также начинал)) если заниматься, то норм будет))
с массивами я тоже одно время просидел.. теперь когда понятно, все легко.

массив это список элементов, который следует один за другим.
вот рисунок:



а теперь код:
[JS]var array = new Array();
array[0] = [1234, 4565, 454, 23, 6567, 76765];
array[1] = [876, 765, 876, 564];
array[2] = [111, 123, 999, 1, 1, 1, 1, 1];
array[3] = [1, 2, 3, 4, 5, 6, 7];
array[4] = [1, 2, 3, 4];
array[5] = [1, 2, 3, 4, 5];
[/JS]

если мы напишем так: var p = array[0]; то получим массив содержащий из 6-ти элементов т.е. [1234, 4565, 454, 23, 6567, 76765]; если говорить очень просто то в массиве array содержатся другие массивы. array[0] содержит ссылку(указатель) на другой массив

т.е. что бы обратится к каждому элементу и вывести, то пишем так:

var p;
for(var i = 0; i < array.length; i++) //array.length - 6 (количество строк)
     {
     p = array[i];
     for(var j = 0; j < p.length; j++)
          console.log(p[j]);
     }


ну или так:

for(var i = 0; i < array.length; i++) //array.length - 6 (количество строк)
     {
     for(var j = 0; j < array[i].length; j++)
          console.log(array[i][j]);
     }


ну вот как то так.. массивы и работают

dima*** 23.04.2013 09:04

Это,вроде,понятно.Вот материал,где всё понятно изложено:http://www.kobru.ru/view_post4.php?id=27

>>>А как к ним обращаться?
Например,ФК Орга:ЧГПИ...
Это я ступил.Понятно,что b1[1][0][7][0]

В голове такая каша,что не могу объяснить,что нужно.Не систематизирован у меня яваскрипт.

dima*** 23.04.2013 20:37

Начал тренироваться.Вроде,всё легко разложил,но "тур" съехал на 1.
Подскажите,где неправильно делаю...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Документ без названия</title>
	</head>
	
    <body>
	<p style='display:none'>
	
20 апреля - 1 тур 

 «Нива» с.Казинка - ФК «Сенгилеевское»        
 ФК «Татарка Верхняя» - ФК «Пелагиада» 
 «Луч» пос.Демино - ФК «Михайловск-ДЮСШ»           
 ФК «Татарка Нижняя» - «ЗАО Верхнедубовское»            
 «Факел» пос.Цимлянский - ФК «Верхнерусское»   
 ФК «Надежда» - выходной  


27 апреля - 2 тур 

 «ЗАО Верхнедубовское» - «Факел» пос.Цимлянский
 ФК «Михайловск-ДЮСШ» - ФК «Татарка Нижняя» 
 ФК «Пелагиада» - «Луч» пос.Демино 
 ФК «Сенгилеевское» - ФК «Татарка Верхняя»
 ФК «Надежда» - «Нива» с.Казинка
 ФК «Верхнерусское» - выходной 

4 мая - 3 тур 

 ФК «Татарка Верхняя» - ФК «Надежда» 
 «Луч» пос.Демино - ФК «Сенгилеевское» 
 ФК «Татарка Нижняя» - ФК «Пелагиада»
 «Факел» пос.Цимлянский - ФК «Михайловск-ДЮСШ» 
 ФК «Верхнерусское» - «ЗАО Верхнедубовское»
 «Нива» с.Казинка - выходной 

11 мая 
 XIII-й Кубок «Победы» по футболу среди КФК Шпаковского района 

18 мая - 4 тур 

 ФК «Михайловск-ДЮСШ»  - ФК «Верхнерусское»
 ФК «Пелагиада» - «Факел» пос.Цимлянский
 ФК «Сенгилеевское» - ФК «Татарка Нижняя» 
 ФК «Надежда» - «Луч» пос.Демино
 «Нива» с.Казинка - ФК «Татарка Верхняя»
 «ЗАО Верхнедубовское» - выходной 

 25 мая - резервный день 

1 июня - 5 тур 

 «Луч» пос.Демино -  «Нива» с.Казинка
 ФК «Татарка Нижняя» - ФК «Надежда»
 «Факел» пос.Цимлянский - ФК «Сенгилеевское»
 ФК «Верхнерусское» - ФК «Пелагиада» 
 «ЗАО Верхнедубовское» - ФК «Михайловск-ДЮСШ»
 ФК «Татарка Верхняя» - выходной 

8 июня - 6 тур 

 ФК «Пелагиада» -  «ЗАО Верхнедубовское»
 ФК «Сенгилеевское» - ФК «Верхнерусское»
 ФК «Надежда» - «Факел» пос.Цимлянский
 «Нива» с.Казинка - ФК «Татарка Нижняя»
 ФК «Татарка Верхняя» - «Луч» пос.Демино
 ФК «Михайловск-ДЮСШ» - выходной 

15 июня - 7 тур 

 ФК «Татарка Нижняя» - ФК «Татарка Верхняя»  
 «Факел» пос.Цимлянский - «Нива» с.Казинка
 ФК «Верхнерусское» - ФК «Надежда»
 «ЗАО Верхнедубовское» -  ФК «Сенгилеевское»
 ФК «Михайловск-ДЮСШ» - ФК «Пелагиада» 
 «Луч» пос.Демино - выходной 


22 июня - 8 тур 

 ФК «Сенгилеевское» - ФК «Михайловск-ДЮСШ»   
 ФК «Надежда» - «ЗАО Верхнедубовское»
 «Нива» с.Казинка - ФК «Верхнерусское» 
 ФК «Татарка Верхняя» - «Факел» пос.Цимлянский
 «Луч» пос.Демино - ФК «Татарка Нижняя»
 ФК «Пелагиада» - выходной 

29 июня - 9 тур 

 «Факел» пос.Цимлянский - «Луч» пос.Демино
 ФК «Верхнерусское» - ФК «Татарка Верхняя» 
 «ЗАО Верхнедубовское» - «Нива» с.Казинка 
 ФК «Михайловск-ДЮСШ» - ФК «Надежда»
 ФК «Пелагиада» - ФК «Сенгилеевское»
 ФК «Татарка Нижняя» - выходной 

6 июля - 10 тур 

 ФК «Надежда» - ФК «Пелагиада»
 «Нива» с.Казинка - ФК «Михайловск-ДЮСШ»
 ФК «Татарка Верхняя» - «ЗАО Верхнедубовское»
 «Луч» пос.Демино - ФК «Верхнерусское»
 ФК «Татарка Нижняя» - «Факел» пос.Цимлянский 
 ФК «Сенгилеевское» - выходной  

13 июля - 11 тур 

 ФК «Верхнерусское» - ФК «Татарка Нижняя»
 «ЗАО Верхнедубовское» - «Луч» пос.Демино
 ФК «Михайловск-ДЮСШ» - ФК «Татарка Верхняя»
 ФК «Пелагиада» - «Нива» с.Казинка
 ФК «Сенгилеевское» - ФК «Надежда»
 «Факел» пос.Цимлянский  - выходной
</p>

<script>
   var a = document.getElementsByTagName('p')[0].innerHTML;
a = a.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
	
var b=a.split(/\d+\s[а-я]+\s\-\s\d+\s[тур]+/); 

for (var i=0;i<b.length; i++){

	reg=/\d+\s[а-я]+\s\-\s\d+\s[тур]+/ig;
var c=a.match(reg);    
document.write('<br>'+c[i-1]+'<br>');


	
	b[i]=b[i].split(/\n/);

	for (var j =0; j < b[i].length; j++){
	
	
    b[i][j]=b[i][j].split(/\s\-\s/);
document.write(b[i][j]+'<br>');
}}


</script>
</body>
</html>

skrudjmakdak 23.04.2013 21:13

у меня сейчас полотно со временем. так что если будет время буду заходить..

по всей видимости регулярное выражение так себя ведет

a = a.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
var b=a.split(/\d+\s[а-я]+\s\-\s\d+\s[тур]+/); 
console.log(b);



0: ""
1: "«Нива» с.Казинка - ФК «Сенгилеевское»↵ФК «Татарка Верхняя» - ФК «Пелагиада»↵«Луч» пос.Демино - ФК «Михайловск-ДЮСШ»↵ФК «Татарка Нижняя» - «ЗАО Верхнедубовское»↵«Факел» пос.Цимлянский - ФК «Верхнерусское»↵ФК «Надежда» - выходной"
2: "«ЗАО Верхнедубовское» - «Факел» пос.Цимлянский↵ФК «Михайловск-ДЮСШ» - ФК «Татарка Нижняя»↵ФК «Пелагиада» - «Луч» пос.Демино↵ФК «Сенгилеевское» - ФК «Татарка Верхняя»↵ФК «Надежда» - «Нива» с.Казинка↵ФК «Верхнерусское» - выходной"
3: "ФК «Татарка Верхняя» - ФК «Надежда»↵«Луч» пос.Демино - ФК «Сенгилеевское»↵ФК «Татарка Нижняя» - ФК «Пелагиада»↵«Факел» пос.Цимлянский - ФК «Михайловск-ДЮСШ»↵ФК «Верхнерусское» - «ЗАО Верхнедубовское»↵«Нива» с.Казинка - выходной11 мая↵XIII-й Кубок «Победы» по футболу среди КФК Шпаковского района"
4: "ФК «Михайловск-ДЮСШ» - ФК «Верхнерусское»↵ФК «Пелагиада» - «Факел» пос.Цимлянский↵ФК «Сенгилеевское» - ФК «Татарка Нижняя»↵ФК «Надежда» - «Луч» пос.Демино↵«Нива» с.Казинка - ФК «Татарка Верхняя»↵«ЗАО Верхнедубовское» - выходной25 мая - резервный день"
5: "«Луч» пос.Демино - «Нива» с.Казинка↵ФК «Татарка Нижняя» - ФК «Надежда»↵«Факел» пос.Цимлянский - ФК «Сенгилеевское»↵ФК «Верхнерусское» - ФК «Пелагиада»↵«ЗАО Верхнедубовское» - ФК «Михайловск-ДЮСШ»↵ФК «Татарка Верхняя» - выходной"
6: "ФК «Пелагиада» - «ЗАО Верхнедубовское»↵ФК «Сенгилеевское» - ФК «Верхнерусское»↵ФК «Надежда» - «Факел» пос.Цимлянский↵«Нива» с.Казинка - ФК «Татарка Нижняя»↵ФК «Татарка Верхняя» - «Луч» пос.Демино↵ФК «Михайловск-ДЮСШ» - выходной"
7: "ФК «Татарка Нижняя» - ФК «Татарка Верхняя»↵«Факел» пос.Цимлянский - «Нива» с.Казинка↵ФК «Верхнерусское» - ФК «Надежда»↵«ЗАО Верхнедубовское» - ФК «Сенгилеевское»↵ФК «Михайловск-ДЮСШ» - ФК «Пелагиада»↵«Луч» пос.Демино - выходной"
8: "ФК «Сенгилеевское» - ФК «Михайловск-ДЮСШ»↵ФК «Надежда» - «ЗАО Верхнедубовское»↵«Нива» с.Казинка - ФК «Верхнерусское»↵ФК «Татарка Верхняя» - «Факел» пос.Цимлянский↵«Луч» пос.Демино - ФК «Татарка Нижняя»↵ФК «Пелагиада» - выходной"
9: "«Факел» пос.Цимлянский - «Луч» пос.Демино↵ФК «Верхнерусское» - ФК «Татарка Верхняя»↵«ЗАО Верхнедубовское» - «Нива» с.Казинка↵ФК «Михайловск-ДЮСШ» - ФК «Надежда»↵ФК «Пелагиада» - ФК «Сенгилеевское»↵ФК «Татарка Нижняя» - выходной"
10: "ФК «Надежда» - ФК «Пелагиада»↵«Нива» с.Казинка - ФК «Михайловск-ДЮСШ»↵ФК «Татарка Верхняя» - «ЗАО Верхнедубовское»↵«Луч» пос.Демино - ФК «Верхнерусское»↵ФК «Татарка Нижняя» - «Факел» пос.Цимлянский↵ФК «Сенгилеевское» - выходной"
11: "ФК «Верхнерусское» - ФК «Татарка Нижняя»↵«ЗАО Верхнедубовское» - «Луч» пос.Демино↵ФК «Михайловск-ДЮСШ» - ФК «Татарка Верхняя»↵ФК «Пелагиада» - «Нива» с.Казинка↵ФК «Сенгилеевское» - ФК «Надежда»↵«Факел» пос.Цимлянский - выходной"
length: 12

skrudjmakdak 23.04.2013 21:22

вот так себя ведет a.split(/\d+\s[а-я]+\s\-\s\d+\s[тур]+/). поэтому либо удаляйте 0-ой элемент массива. либо цикл гоните с 1-цы
(аналогично было в предыдущем вашем примере, только удалять приходилось последний элемент):


dima*** 23.04.2013 21:35

Спасибо,что ответили.Объяснения-просто,супер!!!
Доходчивей,нереально придумать.
Всё,понял!!!


<<<у меня сейчас полотно со временем. так что если будет время буду заходить..
Вы шутите?Я над каждой ерундой -неделями сижу!!!Да,если раз в день-и то большой сдвиг в понимании.

Спасибо!!!!:thanks:


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