Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как создать многомерную матрицу????? (https://javascript.ru/forum/misc/24912-kak-sozdat-mnogomernuyu-matricu.html)

Даша Соколова 21.01.2012 15:33

с рекурсией проблема, что не так в этом коде?

function Matrix() {
	if (arguments.length > 1) {
		var q = Array.prototype.shift.call(arguments)
		var matrix = new Array(q)
		for ( var i = 0; i < matrix.length; i++) {
			matrix[i] = Matrix.apply(null, arguments)
		}
		return matrix;
	} else {

		return new Array(arguments[0])
	}
}

Gvozd 21.01.2012 16:10

Цитата:

Сообщение от Даша Соколова
с рекурсией проблема, что не так в этом коде?

Все в порядке - код рабочий и правильный.
Наверно вас смутило, то что на alert(Matrix(3,3,2)), вам выдало такой набор запятых ,,,,,,,,,,,,,,,,,, как буд-то массив линейный?

На самом деле массив вполне нормальный, трехуровневый, и все такое.
Для того чтобы работать/отлаживать JS вам необходимо освоить средства отладки в барузерах.
Сейчас для каждого браузера есть встроенный, либо доступный в виде отдельного плагина инстурментарий разработчика.
Например Firebug для Firefox
В частности вы можете выводить отладочную информацию(в любом инструменте разработчика) через console.log(), и в консоли отобразится структура объекта

Даша Соколова 21.01.2012 17:49

Gvozd,
да, спасибо меня мутил не алерт.
Меня смутило то что вывела консоль.


function Matrix() {
	if (arguments.length > 1) {
		var q = Array.prototype.shift.call(arguments)
		var matrix = new Array(q)
		for ( var i = 0; i < matrix.length; i++) {
			matrix[i] = Matrix.apply(null, arguments)
		}
		return matrix;
	} else {

		return new Array(arguments[0])
	}
}

console.log(Matrix(3,3,3))

Даша Соколова 21.01.2012 17:54

Ой, точно работает! Значит у меня хром подглючивал. Ну бывает у него.
Спасибо большое Gvozd за навродку на рекурсию ^^

Хотела написать лапка получилось папка )
А есть еще какие то приемы которые мне нужно знать?

Kolyaj 21.01.2012 19:37

Фига у nemo титьки :blink:

monolithed 21.01.2012 20:30

Изоморф :D

melky 21.01.2012 22:17

упс. так значит, я ошибался

monolithed 21.01.2012 22:19

Цитата:

Сообщение от melky
упс. так значит, я ошибался

в чем?

melky 21.01.2012 22:21

я думал, что это andmeriemarum (или как его там. авка тоже с котом)

или это он и есть? он же кидал ссылку на профиль вконтакте. надурил?

манера разговора та же самая ведь)

monolithed 21.01.2012 22:21

Цитата:

Сообщение от melky
я думал, что это andmeriemarum

Он и есть. Или ты думаешь, что немо за ночь сиськи отростил? :D


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