с рекурсией проблема, что не так в этом коде?
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]) } } |
Цитата:
Наверно вас смутило, то что на alert(Matrix(3,3,2)), вам выдало такой набор запятых ,,,,,,,,,,,,,,,,,, как буд-то массив линейный? На самом деле массив вполне нормальный, трехуровневый, и все такое. Для того чтобы работать/отлаживать JS вам необходимо освоить средства отладки в барузерах. Сейчас для каждого браузера есть встроенный, либо доступный в виде отдельного плагина инстурментарий разработчика. Например Firebug для Firefox В частности вы можете выводить отладочную информацию(в любом инструменте разработчика) через console.log(), и в консоли отобразится структура объекта |
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)) |
Ой, точно работает! Значит у меня хром подглючивал. Ну бывает у него.
Спасибо большое Gvozd за навродку на рекурсию ^^ ![]() Хотела написать лапка получилось папка ) А есть еще какие то приемы которые мне нужно знать? |
Фига у nemo титьки :blink:
|
Изоморф :D
|
упс. так значит, я ошибался
|
Цитата:
|
я думал, что это andmeriemarum (или как его там. авка тоже с котом)
или это он и есть? он же кидал ссылку на профиль вконтакте. надурил? манера разговора та же самая ведь) |
Цитата:
|
Часовой пояс GMT +3, время: 14:39. |