Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Считывание из многомерного массива (https://javascript.ru/forum/misc/73416-schityvanie-iz-mnogomernogo-massiva.html)

Sowenak 14.04.2018 10:11

Считывание из многомерного массива
 
Добрый день. Допустим у меня есть многомерный массив с данными:
var matrix = [
  [a, 2, 3, g],
  [4, c, 6, d],
  [d, 8, 9, h]
];

Задача стоит следующая: если пользователь вводит первые три элемента массива, то в качестве результата ему выдается 4ый элемент.
Пример:
пользователь вводит "a", "2", "3", в качестве результата получает "g", а если же он вводит "d", "8", "9", то получает "d"

Первое, что приходит в голову сделать все ifами, но хоть и не программист, но понимаю, что должно быть более адекватное решение. К тому же в действительности массив будет состоять из порядка 60 строк...
Буду благодарен за совет или пример, если кто то сталкивался с подобной задачей.

рони 14.04.2018 10:46

Sowenak,
var matrix = [
  ["a", "2", "3", "g"],
  ["4", "c", "6", "d"],
  ["d", "8", "9", "h"]
];
function fn(matrix, arr)
{
    for (var i = 0; i < matrix.length; i++) {
        var el = matrix[i];
        if(JSON.stringify(arr) == JSON.stringify(el.slice(0,-1))) return el.slice(-1)[0]
    }
   return false
}
var arr = ["a", "2", "3"];
alert(fn(matrix, arr));

Sowenak 14.04.2018 10:53

Огромное спасибо мил человек


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