Javascript.RU

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

Вывод таблицы в консоли
Всем привет.

Помогите пожалуйста новичку. Написал следующий код:

function Table() {
  var data = "Имя;Улица;Город;Возраст\nВладимир Есенин;ул. Пушкина 13;Москва;42\nМарина Шмидт;ул. Максима Горького;Красноярск;43";
  var strListe = data.split(";");
  var res = "";
  for (var i = 0; i < data.length; i++) {
    res = res + strListe[i];
  }
  res = strListe
    .reduce(function(agg, elem) {
      return agg + " | " + elem;
    })
  return res;
}
console.log(Table())


Как сделать чтобы таблица была ровной и именно в консоли? Я понимаю что нужно найти размер самой большой длины текста и сделать это именно в столбце, но как не представляю.

На скрине показал как должно выглядеть.
Изображения:
Тип файла: jpg screen.jpg (14.3 Кб, 10 просмотров)

Последний раз редактировалось Mixpix, 24.05.2017 в 13:47.
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2017, 13:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Mixpix
Как сделать чтобы таблица была ровной и именно в консоли?
Данные у тебя плохо организованы...
Первая и последняя "колонка" твоей "таблицы" объединены. Это нужно исправить.

Потом придется сделать массив максимальных длин колонок... После этого получится вывести как ты задумал.
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2017, 03:45
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Mixpix, есть такой символ \t табуляция:
console.log('qqq\t | www\t | eee\t | rrr\n1\t | 2\t | 3\t | 4\n5\t | 6\t | 7\t | 8\n');
Ответить с цитированием
  #4 (permalink)  
Старый 30.05.2017, 14:57
Новичок на форуме
Отправить личное сообщение для Mixpix Посмотреть профиль Найти все сообщения от Mixpix
 
Регистрация: 24.05.2017
Сообщений: 4

Добрый день.

Спасибо за ответы!

Вот то что я сделал:
var string = ["Имя", "Улица", "Город", "Возраст"];
var int = [5, 8, 6, 4];
var res = [];

function widthOfCol(row, colWidth) {
  for (var i = 0; i < row.length; i++) {
    if (row[i].length < colWidth[i]) {
      var deff = colWidth[i] - row[i].length;
      var space = "";
      for (j = 0; j < deff; j++){
        space = space + " ";
      }
      res.push(row[i] + space);
    }
    else {
      res.push(row[i]);
    }
  }
  return res;
}
var res = widthOfCol(string, int);
console.log(res);


Эта функция только для добавления пробелов к коротким строкам, длину заранее прописал для примера.

Последний раз редактировалось Mixpix, 30.05.2017 в 15:18.
Ответить с цитированием
  #5 (permalink)  
Старый 30.05.2017, 15:11
Новичок на форуме
Отправить личное сообщение для Mixpix Посмотреть профиль Найти все сообщения от Mixpix
 
Регистрация: 24.05.2017
Сообщений: 4

Сообщение от Rise Посмотреть сообщение
Mixpix, есть такой символ \t табуляция:
console.log('qqq\t | www\t | eee\t | rrr\n1\t | 2\t | 3\t | 4\n5\t | 6\t | 7\t | 8\n');
а если данные будут из файла получены?
Ответить с цитированием
  #6 (permalink)  
Старый 30.05.2017, 16:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Mixpix
а если данные будут из файла получены?
Заменяй " |" на "\t |"...
Ответить с цитированием
  #7 (permalink)  
Старый 30.05.2017, 17:41
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от Mixpix Посмотреть сообщение
а если данные будут из файла получены?
Какая разница откуда данные, нет такого типа данных "из файла получены", есть 6 типов данных, в том числе строки, у строк есть специальные символы, в том числе \t.
Ответить с цитированием
  #8 (permalink)  
Старый 31.05.2017, 09:28
Новичок на форуме
Отправить личное сообщение для Mixpix Посмотреть профиль Найти все сообщения от Mixpix
 
Регистрация: 24.05.2017
Сообщений: 4

Сообщение от Rise Посмотреть сообщение
Какая разница откуда данные, нет такого типа данных "из файла получены", есть 6 типов данных, в том числе строки, у строк есть специальные символы, в том числе \t.
хорошо) попробую сделать еще и как предложили Вы. Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание таблицы SQL Ambient Общие вопросы Javascript 7 19.07.2016 22:25
Создание ссылки в консоли mlc Events/DOM/Window 1 05.01.2016 14:50
Google создание таблицы и запись данных aleks_lv Общие вопросы Javascript 2 07.12.2015 15:05
Создание элементов под выбранной строкой таблицы Kitana Элементы интерфейса 4 05.09.2011 14:14
Динамическое создание таблицы Arfey Общие вопросы Javascript 7 10.06.2010 14:14