Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 19.04.2013, 20:36
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

та без проблем, пишите..
а что на счет document.write, то я за свою жизнь его не разу не использовал

а что насчет консоли, то вот пример небольшой:
<!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" />
<script>
var m = new Object();
m.property1 = 1;
m.property2 = 2;
m.method1 = function()
	{
	return m.property1 + m.property2;
	}
document.write(m);
console.log(m);
</script>
	</head>
	<body>
	</body>
</html>

если вывести m через document.write то на экран выскочит [object Object]
а если вывести через консоль console.log, то выведет объект и его свойства и методы
вот наглядный скрин:
Ответить с цитированием
  #22 (permalink)  
Старый 19.04.2013, 20:38
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

вы писали:
>>> Получается,если последний элемент в b1 не объект,то его удаляем?

именно так, если не объект, то удаляем.. иначе ошибка будет в цикле
Ответить с цитированием
  #23 (permalink)  
Старый 19.04.2013, 21:02
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

С консолью-это на воскресенье.Нужна,свежая голова,чтобы в это влазить...

>>>именно так, если не объект, то удаляем.. иначе ошибка будет в цикле
Ага.Значит splice можно и так использовать...Не знал.
Ответить с цитированием
  #24 (permalink)  
Старый 20.04.2013, 09:36
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Так все выходят через запятую...Не совсем то,что нужно.
Вообщем,нужно массив массивов:
arr=[[[Самашки,Вайнах,1,4][Берд,Лидер,2,3]...[Марта,Сунжа,2,1]]
[[Самашки,Вайнах,1,3][Берд,Лидер,0,2]...[Марта,Сунжа,1,2]]
[[Самашки,Вайнах,1,1][Берд,Лидер,1,3]...[Марта,Сунжа,2,1]]].
Только,желательно,по тому пути по какому мы идём...
Ответить с цитированием
  #25 (permalink)  
Старый 20.04.2013, 19:48
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

if (b1[i][0][k] != null)
   {
   console.log(b1[i][0][k].join(','));
   }
Ответить с цитированием
  #26 (permalink)  
Старый 20.04.2013, 19:53
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

var a1 = document.getElementsByTagName('p')[0].innerHTML;
a1 = a1.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
var rega = /\d|[А-Яа-я]+/ig;

var b1 = a1.split(/\sПравка\sip\sinf/); 
if (typeof b1[b1.length - 1] != 'object')
	b1.splice(b1.length - 1, 1);

for (var i = 0; i < b1.length; i++)
	{
	b1[i] = b1[i].split(/\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s/);
	//тут бы желательно удалить \n до текста и после
	b1[i][0] = b1[i][0].split(/\n/);
	for (var k = 0; k < b1[i][0].length; k++)
		{
		b1[i][0][k] = b1[i][0][k].match(rega);
		if (b1[i][0][k] != null)
			{
			//console.log(b1[i][0][k].join(','));
			}
		}
	}
console.log(b1);
Ответить с цитированием
  #27 (permalink)  
Старый 20.04.2013, 21:02
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

console.log(b1)-Вон,даже,как!!!Вот,чего месяц не мог понять!!!
Завтра,выходной,наконец-то.Посижу все,записи просмотрю,проделаю.А,то или в обед на полчаса прибегаешь,то после работы-голова уже не соображает.
Спасибо,большое!!!!!
В циклах понятно становится, что к чему.А то везде,for(i=0;i<"что-то".length;i++) и всё!Ну,ещё пару раз j видел.
А,если,после каждого цикла splice(массив.length - 1, 1) использовать и новый массив создавать(hewArr.splice)?
Ответить с цитированием
  #28 (permalink)  
Старый 20.04.2013, 22:28
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

ну вообще то методом splice особо не добавляют элементы (по крайней мере я такого не встречал, да и сам не писал). это если надо удалить и тут же добавить причем в тот же массив, тогда да.

>>>А,если,после каждого цикла splice(массив.length - 1, 1) использовать и новый массив создавать(hewArr.splice)?

ну что то на подобии такого примера:

var array = [330, 515, 354, 768, 543, 654];
var newArray = new Array();
var a = undefined;
console.log(newArray);
while(array.length != 0)
	{
	a = array.splice(0, 1)[0];
	console.log(a);
	newArray.push(a);
	}
console.log(newArray);


здесь есть два массива, один полный другой пустой, ну и переменная.. она так, для того чтобы было понятно что в ней храним (конечно можно сделать одной строчкой: newArray.push(array.splice(0, 1)[0])).

вообщем гоним цикл, до тех пор пока массив не опустеет (array.length != 0), там удаляем элемент массива и записываем в переменную. потом выводим содержимое этой переменной.. ну и добавляем значение в новый массив.. и в конце выводим содержимое нового массива.
Ответить с цитированием
  #29 (permalink)  
Старый 21.04.2013, 17:04
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Почему-то не работает.В конце что-то неправильно.

<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);

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/); 
	
	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){

b1[i][0][k]=b1[i][0][k].split(',');
for (var l =0; l< b1[i][0][k].length ;i++){
console.log(b1[i][0][k][l]+'<br>');
}}}}

</script>
</body>
</html>
Ответить с цитированием
  #30 (permalink)  
Старый 21.04.2013, 20:40
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Разложил всё по полочкам-не работает и всё!!!Что делаю не так?

a1=document.getElementsByTagName('p')[0].innerHTML; 
a1= a1.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n')	
//a1 = a1.replace(/(\r\n|\n|\r)/gm," ");

	
	
	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/);
	
	
 var p=b1[i][0].split(/\n/);
 for(k=0;k<p.length;k++){
  
  rega=/\d|[А-Яа-я]+/ig;
   h=p[k].match(rega);
  var m=[];
  for(l=0;l<h.match;l++){
	  m[l]=m[l].split(',');
	  console.log(m[l]+'<br>');
  }}}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему function'ы работают только с приминением setTimeout TommyTunec Events/DOM/Window 2 22.01.2013 11:48
Почему неразрывный пробел заменяется на & nbsp; danik.js Events/DOM/Window 4 09.01.2013 00:44
Почему так происходит? noname1990 Общие вопросы Javascript 2 23.11.2012 00:16
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
Prototype. Одноблочное определение псевдокласса. Литеральная форма не робит. Почему? GuardCat Общие вопросы Javascript 6 03.10.2011 13:46