Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2015, 00:27
Новичок на форуме
Отправить личное сообщение для try_ Посмотреть профиль Найти все сообщения от try_
 
Регистрация: 12.07.2015
Сообщений: 5

Форматориванный вывод чисел(фукнция).
Друзья ,нужна ваша помощь!В общем задача такая:Нужно написать функцию, которая принимает первым параметром число ,а вторым количество столбцов для вывода.
Например:
mySuperFunction(12,3);
Вывод в консоли должен быть таким:
1 5 9
2 6 10
3 7 11
4 8 12

Буду очень благодарен помощи!
P.S немного стыдно за такой вопрос...
Вот что выходит у меня
function printNumbers(number,rows){
	var totalNumbesPerLine = 0;
	var output = '';
	
	var sum = Math.ceil(number / rows);
		for(var i = 1;i<=number;i++){
			totalNumbesPerLine++;
			output += i;
			setBreak();
		}
		console.log(output);
	function setBreak(){
		if(totalNumbesPerLine == sum){
			output +='\n'; 
			totalNumbesPerLine = 0;
		}else{
				output +=' '; 
		}
		
		
	}
}

Последний раз редактировалось try_, 28.07.2015 в 00:34. Причина: старания=)
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2015, 00:50
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title>Спойлеры</title>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<link rel="stylesheet" href="test.css">
</head>
<body>
<script>

    var func = function(m, n){
        var k = Math.floor(m/n);
        var foo = '';
        for (var i = 1; i<=k; i++) {
            for(var j = 1; j<=n;j++){
                foo += k*(j-1)+i+' ';
            }
            console.log(foo+"\r\n");
            foo = "";
        }
    };
    func(12,3);

</script>

</body>
</html>

Последний раз редактировалось EmperioAf, 28.07.2015 в 10:34.
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2015, 00:54
Новичок на форуме
Отправить личное сообщение для try_ Посмотреть профиль Найти все сообщения от try_
 
Регистрация: 12.07.2015
Сообщений: 5

большое спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2015, 06:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

try_,
Прорисовать цифры в определенном порядке.
JavaScript/jQuery сортировка элементов DOM
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2015, 06:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

EmperioAf,
а func(13,3); ???
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2015, 08:33
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var myfunc = function(arr, n){
  var i=0, a;
  function replacer(str, p){a='\n'; if(++i%n)a=' '; return p+a;}
  return arr.toString().replace(/(\d+)(?:,|$)/g,replacer);
}

var arr = [1,5,9,2,6,10,3,7,11,4,8,12];
alert(myfunc (arr,3))
alert(myfunc (arr,5)) //Ващет нун число пробелов равнять при большом числе столбцов


Либо через табуляцию, либо HTML таблицей)
Ибо цифры могут быть и двухзначными и однозначными и т.д.
var myfunc = function(arr, n){
  var i=0, a;
  function replacer(str, p){a='\n'; if(++i%n)a='\t'; return p+a;}
  return arr.toString().replace(/(\d+)(?:,|$)/g,replacer);
}

var arr = [1,5,9,2,6,10,3,7,11,4,8,12];
alert(myfunc (arr,3))
alert(myfunc (arr,5))


var myfunc = function(arr, n){
  var i=0, a, b='', s = String.fromCharCode(160);
  function replacer(str, p){ 
      b='\n'; a = (s+s+s+s).substr(p.length); if(++i%n)b='';
      return a+p+s+b;
  }
  return arr.toString().replace(/(\d+)(?:,|$)/g,replacer);
}

var arr = [1,5,9,2,6,10,3,7,11,4,8,12];
alert(myfunc (arr,3))
alert(myfunc (arr,5))
alert(myfunc (arr,6))

Последний раз редактировалось Deff, 28.07.2015 в 10:37.
Ответить с цитированием
  #7 (permalink)  
Старый 28.07.2015, 10:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Deff,
не обязательно myfunc (arr,3), можно первым аргументом передавать длину массива по которой его создавать (жаль что .fill() не все поддерживают), а потом деление по модулю второго аргумента.
Ответить с цитированием
  #8 (permalink)  
Старый 28.07.2015, 10:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

laimas,
А я ток допёр, что массив от 1-до 12, я то смотрел по строкам

Последний раз редактировалось Deff, 28.07.2015 в 10:45.
Ответить с цитированием
  #9 (permalink)  
Старый 28.07.2015, 10:15
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Deff
тады выравнивать строки ток табуляцией или таблицей HTML
Это почему? Разве запретно дополнить массив незначащими значениями до кратного второму аргументу?

Последний раз редактировалось laimas, 28.07.2015 в 10:18.
Ответить с цитированием
  #10 (permalink)  
Старый 28.07.2015, 10:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Deff
А я ток допёр
Собственно лишних телодвижений и не нужно, то что элементов массива 11, а делим по модулю 3, это не помеха получить колонки. Но если длина массива приличная, и это не просто вывод циферек, то можно дополнить массив до кратного делимому и обрабатывать массив сразу с двух сторон.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод случайных элементов из массива в таблицу Narm0 Общие вопросы Javascript 10 06.08.2013 12:39
Вывод выбранных данных и проверка checkbox MasterHrust Javascript под браузер 3 28.09.2011 17:44
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05
вывод картинки и vrml mister_maxim Events/DOM/Window 16 12.01.2010 17:40