Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что делаю не так? (https://javascript.ru/forum/misc/45419-chto-delayu-ne-tak.html)

danik.js 28.02.2014 09:19

Цитата:

Сообщение от dima***
а как правильно?

Я не про правильно/неправильно.
Я не пойму: зачем сначала постоянно разбивать строку на массив по разделителю и тут же собирать массив в строку с этим же разделителем?
Собрали - разобрали. Собрали - разобрали. Че за дрочка?

dima*** 28.02.2014 09:27

Ну,а как сразу разбивать?Покажи,пожалуйст а

kostyanet 28.02.2014 11:13

Правильно replace() для первых двух. Или regex, тут я 0.

ruslan_mart 01.03.2014 10:25

Цитата:

Сообщение от dima***
Всем угодил!Я даже не знал,что его можно в if вставлять

Какой if? Я про html тэг pre, который отображает переносы так, как они написаны в коде.

dima*** 01.03.2014 10:36

Извиняюсь,невнимательно посмотрел показалось reg.:)
А как тэг pre использовать здесь?

dima*** 01.03.2014 11:21

Ruslan_xDD,

А как всё-таки его здесь использовать?

Элемент <pre> определяет блок предварительно форматированного текста. Такой текст отображается обычно моноширинным шрифтом и со всеми пробелами между словами. По умолчанию, любое количество пробелов идущих в коде подряд, на веб-странице показывается как один. Тег <pre> позволяет обойти эту особенность и отображать текст как требуется разработчику.

Может это как раз,что мне нужно...

ruslan_mart 01.03.2014 11:33

<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<pre>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2

II тур
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3

III тур
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9


</pre>
</body>
</html>

dima*** 01.03.2014 11:37

На первый взгляд,тоже самое:( .И в чём преимущество <pre>?

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

dima*** 01.03.2014 12:26

помогите создать с помощью splice новый массив .
Не получается эта строка:e[i]=d[i].splice(0,2);

<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<p style ='display:none'>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2

II тур
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3

III тур
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9


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

reg0=/[IVX]+\s*тур/img;
//reg0=/^.+?тур/img;
reg1=/\d+\s*[а-я]+\s*\d*\s*г\./img;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;

b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/).join('<br>');

c=b.split(reg0).join(',');//Убрали "тур"
c=c.split(reg1).join(',');//Убрали "дату"
c=c.split('<br>');

d=[];
for (var i=0; i<c.length; i++) {
if(c[i]!=',') {
  d.push(c[i]);//Убрали запятые
}}

for (var i=0; i<d.length; i++) {
d[i]=d[i].split(',');//Создали массив d[i][j];
for (var j=0; j<d[i].length; j++) {

}}

e=[];
e[i]=d[i].slice(0,2);//Здесь неправильно!!!!!!!!!!!!!
}}

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

console.log(e[i]+'<br>');
document.write(e[i]+'<br>');
}


//document.write(d.join('<br>'));
</script>
</body>
</html>

danik.js 01.03.2014 12:46

splice модифицирует исходный массив!
Используй slice
(код не смотрел, в тему не вникал)


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