Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.09.2018, 14:31
Интересующийся
Отправить личное сообщение для Роман1479 Посмотреть профиль Найти все сообщения от Роман1479
 
Регистрация: 06.10.2017
Сообщений: 24

Найти побочную диагональ двумерного массива js
var matrix4D = [
  1, 1, 1, 1,
  1, 1, 1, 1,
  1, 1, 1, 1,
  1, 1, 1, 1
];
function_matrix(matrix4D);
/* alert(matrix4D); */

function function_matrix(arr){
    var n = arr.length;
    var step = Math.sqrt(arr.length) - 1;

    for (var i = step; i < n - step; i += step) { 
        console.log(arr[i]);
        alert(arr[i]);
    }
}


Я ее нашел, но как сделать с такой матрицей как ниже ( выводит undefined ), помогите пожалуйста.
( должен вывести 3 6 2 и 9 )
var matrix4D = [
  1, 1, 1, 3,
  1, 1, 6, 1,
  1, 2, 1, 10,
  9, 1, 1, 1,
  1, 1, 11, 1
];

или
( должен вывести 5 3 и 1 )
var matrix4D = [
  1, 2, 3, 4, 5,
  1, 1, 1, 3, 4, 
  1, 1, 1, 1, 1,
];
Ответить с цитированием
  #2 (permalink)  
Старый 03.09.2018, 14:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от Роман1479
двумерного
где?
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2018, 15:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Роман1479,
var matrix4D = [
  1, 1, 1, 1,
  1, 1, 1, 1,
  1, 1, 1, 1,
  1, 1, 1, 1
];
var matrix4_D = [
  1, 1, 1, 3,
  1, 1, 6, 1,
  1, 2, 1, 10,
  9, 1, 1, 1,
  1, 1, 11, 1
];


var matrix5D = [
  1, 2, 3, 4, 5,
  1, 1, 1, 3, 4,
  1, 1, 1, 1, 1
];

function function_matrix(arr, num){
    var l = Math.min(num, arr.length/num)
    var n = --num;
    var res = [];

    for (var i = 0; i < l; i++) {
        res.push(arr[n])
        n += num
    }
    return res
}
alert(function_matrix(matrix4D, 4));
alert(function_matrix(matrix4_D, 4));
alert(function_matrix(matrix5D, 5));
Ответить с цитированием
  #4 (permalink)  
Старый 03.09.2018, 15:12
Интересующийся
Отправить личное сообщение для Роман1479 Посмотреть профиль Найти все сообщения от Роман1479
 
Регистрация: 06.10.2017
Сообщений: 24

Извините пожалуйста, значит все не правильно, можнте помочь написать тоже самое только с двумерным
Ответить с цитированием
  #5 (permalink)  
Старый 03.09.2018, 15:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Роман1479,
var matrix4D = [
  [1, 1, 1, 1],
  [1, 1, 1, 1],
  [1, 1, 1, 1],
  [1, 1, 1, 1]
];
var matrix4_D = [
  [1, 1, 1, 3],
  [1, 1, 6, 1],
  [1, 2, 1, 10],
  [9, 1, 1, 1],
  [1, 1, 11, 1]
];


var matrix5D = [
  [1, 2, 3, 4, 5],
  [1, 1, 1, 3, 4],
  [1, 1, 1, 1, 1]
];

function function_matrix(arr){
    var num = arr[0].length;
    var l = Math.min(num, arr.length)
    var n = --num;
    var res = [];

    for (var i = 0; i < l; i++) {
        res.push(arr[i][n])
        --n
    }
    return res
}
alert(function_matrix(matrix4D));
alert(function_matrix(matrix4_D));
alert(function_matrix(matrix5D));
Ответить с цитированием
  #6 (permalink)  
Старый 03.09.2018, 16:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Такой еще вариант предложу...

var matrix4D = [
  [1, 1, 1, 1],
  [1, 1, 1, 1],
  [1, 1, 1, 1],
  [1, 1, 1, 1]
];
var matrix4_D = [
  [1, 1, 1, 3],
  [1, 1, 6, 1],
  [1, 2, 1, 10],
  [9, 1, 1, 1],
  [1, 1, 11, 1]
];
var matrix5D = [
  [1, 2, 3, 4, 5],
  [1, 1, 1, 3, 4],
  [1, 1, 1, 1, 1]
];
alert(function_matrix(matrix4D));
alert(function_matrix(matrix4_D));
alert(function_matrix(matrix5D));
function function_matrix(arr){
    var col = arr[0].length;
	var row = 0;
    var res = [];
	while ((col > -1) && (row < arr.length)) {
        res.push(arr[row++][--col]);
    }
    return res
};

Последний раз редактировалось ksa, 03.09.2018 в 16:22.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение массива JS из MySQL blax Events/DOM/Window 2 01.11.2011 07:53
Помогите найти калькулятор на js GennadiyZm Общие вопросы Javascript 1 29.07.2011 16:26
Где найти документацию по js prowoke Оффтопик 2 17.07.2011 19:20
Найти проблему с jQuery или писать js? Saladdin Элементы интерфейса 0 17.03.2011 17:02
Передача массива JS в cookies Denis Общие вопросы Javascript 1 04.08.2009 12:24