Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2013, 20:06
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Создание уникальных элементов
Не получается создать уникальные элементы

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



<!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'>
19 октября - 20 тур 

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


 26 октября - 21 тур 

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


2 ноября - 22 тур 

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

</p>


<script  type="text/javascript">

function uniq(arr){
var obj={};
for(var i=0;i<arr.length;i++){
str=arr[i];
obj[str]=true;
}
return Object.keys(obj)
}//[COLOR="blue"]Функция для создания уникальных элементов[/COLOR]


a=document.getElementsByTagName('p')[0].innerHTML;
a = a.replace(/^(.+)\s+-\s+(.+)$/img,'$1,$2');
b=a.split(/\n/ig);
for(var i=0;i<b.length;i++){

b[i]=b[i].split(',');
for(var j=0;j<b[i].length;j++){
//document.write(b[i][j]+'<br>')[COLOR="blue"]Создание массива[/COLOR]
//console.log(b[i][j]);
//}}

document.write(uniq(b[i][j]+'<br>'));//[COLOR="blue"]Создание уникальных элементов[/COLOR]

//console.log(uniq(b[i][j]+'<br>'));
}}

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

Последний раз редактировалось dima***, 24.10.2013 в 08:47.
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2013, 20:34
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

http://jsfiddle.net/GZs2Q/

var text = document.getElementsByTagName('p')[0].innerHTML;
var re = /^\s*(.*\S)\s+-\s+(.*\S)\s*$/gm, 
    re2 = /^\d+\s+[a-z\u0430-\u044F]+$/i;
var m, map = {}, arr = [];
while(m = re.exec(text)) {
    for(var i=1; i<=2; ++i) {
        if (!map[m[i]] && !re2.test(m[i])) {
            map[m[i]] = 1;
            arr.push(m[i]);
        }
    }
}
alert(arr.join('\n'));
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2013, 01:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<p style='display:none'>
19 октября - 20 тур 

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


 26 октября - 21 тур 

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


2 ноября - 22 тур 

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

</p>


<script  type="text/javascript">
a=document.getElementsByTagName('p')[0].innerHTML;
b = a.replace(/^.{0,23}$\n/gim,'')
.replace(/^\s*(.+)\s+-\s+(.+)\s*$/img,'a["$1"]=1;a["$2"]=1;');

a = {};eval(b);var b=[];
for(var i in a)b.push(i);

alert(b.join(',\n'));
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2013, 08:54
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Спасибо.

А можно через Object.keys(obj)?
http://learn.javascript.ru/array-methods
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2013, 14:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от dima***
А можно через Object.keys(obj)?
Цитата:
a = {};eval(b);var b=[];
40 for(var i in a)b.push(i);
41
42 alert(b.join(',\n'));
замените в этих строках
a=> obj
i => key
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2013, 18:56
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание блока элементов. Alex_dark74 Общие вопросы Javascript 2 25.03.2013 17:50
Создание элементов под выбранной строкой таблицы Kitana Элементы интерфейса 4 05.09.2011 14:14
Динамическое создание элементов DOM Crudelis Общие вопросы Javascript 7 13.11.2010 02:28
Создание элементов Geddar jQuery 2 24.06.2009 19:29
Создание элементов createElement в IE. Phoenix Общие вопросы Javascript 6 26.09.2007 19:43