Обратные значения 2-мерной матрицы, которые могут растягиваться n
раз.Javascript Упражнение - Обратный 2-мерный массив
[1, [2, [3, ... [n, null]]]]
Дано:
- Все массивы всегда имеют длину 2
- Последний массив в списке будет содержать индекс 1 нуль
Пример:
[1, [2, [3, null]]]
выдает[3, [2, [1, null]]]
[1, [2, [3, [4, null]]]]
выведет[4, [3, [2, [1, null]]]]
Я не уверен, если я описываю это правильно, но я наткнулся на это упражнение сегодня и придумали довольно очевидным решением.
var ars = [1, [2, [3, null]]], rev = null;
function r(x) {
rev = (rev == null) ? [x[0]] : [x[0], rev];
if(x[1] !== null)
r(x[1]);
}
r(ars);
console.log(rev);
Я ни в коем случае не яваскрипт эксперта, поэтому мне было интересно, есть ли лучший способ сделать это?
ли массив всегда заканчивается в 'null'? Кроме того, ваш пример, похоже, оставляет это из окончательного результата. –
Я не уверен, что «2D» и «обратный» здесь являются правильными условиями. Это вложенный массив, и вы, не имея лучшего термина, выворачиваете его наизнанку. –
Этот вопрос не соответствует теме, потому что он принадлежит http://codereview.stackexchange.com/ –