Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2013, 09:25
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

группировка одинаковых ячеек таблицы
есть таблица, в которой могут быть различные элементы

<table id="stuff">
<tr>
<td>
Ель
</td>
</tr>
 <tr>
<td>
Дуб
</td>
</tr>
 <tr>
<td>
Клен
</td>
</tr>
 <tr>
<td>
Дуб
</td>
</tr>
 <tr>
<td>
Ель
</td>
</tr>
</table>


нужно сделать группировку повторяющихся элементов
тоесть результат должен быть примерно таким:

Ель: 5
Дуб: 2
Клен: 1
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2013, 01:03
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

неужели невозможно?
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2013, 01:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,921

Vampir3, а обойти все ячейки не судьба?
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
  <table id="stuff">
    <tr>
      <td>Ель</td>
    </tr>

    <tr>
      <td>Дуб</td>
    </tr>

    <tr>
      <td>Клен</td>
    </tr>

    <tr>
      <td>Дуб</td>
    </tr>

    <tr>
      <td>Ель</td>
    </tr>
  </table><script>
var a = document.getElementById("stuff").getElementsByTagName("td");
  obj = {};
  for (var b = 0; b < a.length; b++) {
    var c = a[b].firstChild.data;
    obj[c] ? obj[c]++ : obj[c] = 1
  }
  for (var d in obj) document.write(d + " " + obj[d] + "<br />");
  </script>
</body>
</html>

Последний раз редактировалось рони, 06.08.2013 в 01:40.
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2013, 01:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var str = '<table id="stuff">\
<tr>\
<td>\
Ель\
</td>\
</tr>\
 <tr>\
<td>\
Дуб\
</td>\
</tr>\
 <tr>\
<td>\
Клен\
</td>\
</tr>\
 <tr>\
<td>\
Дуб\
</td>\
</tr>\
 <tr>\
<td>\
Ель\
</td>\
</tr>\
</table>';
var arr =str.split(/<[^>]*>/gim).join(',').split(/(\s*,)+/gim).join(',').split(/,+/)
arr.splice(0,1);arr.pop();
var obj={};
for(var i=0;i<arr.length;i++){
  if(!obj[arr[i]])obj[arr[i]]=0;
  obj[arr[i]]++;
}
   arr = [],j=0;
for(var i in obj){
   arr[j] = i+':'+obj[i];
   j++;
}
alert(arr.join('\n'))

Ответить с цитированием
  #5 (permalink)  
Старый 06.08.2013, 10:14
Профессор
Отправить личное сообщение для Vampir3 Посмотреть профиль Найти все сообщения от Vampir3
 
Регистрация: 06.12.2011
Сообщений: 172

ухх.. спасибо)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсветка родительских ячеек таблицы Demath Элементы интерфейса 10 11.02.2013 13:33
IE 8: баг при динамическом display=none; у ячеек таблицы SegaMega Элементы интерфейса 0 21.09.2012 06:47
Группировка заголовков столбцов таблицы. ExtJS 4.1. Eugent ExtJS 0 02.05.2012 11:40
Не выводится содержимое ячеек таблицы SER Events/DOM/Window 2 23.06.2011 17:48
onmouseover отрабатывает по разному для одинаковых ячеек таблицы ilshat Events/DOM/Window 2 11.02.2009 12:25