Показать сообщение отдельно
  #5 (permalink)  
Старый 27.10.2023, 20:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Я бы вообще отказался от класса в пользу функции:

function prettyPrint(data) {
  console.log(JSON.stringify(data));
}

function createMatrix3D(initObject) {
  const { x, y, z } = initObject;

  const buffer = Array.from(Array(z), (_, i) =>
    Array.from(Array(y), (_, j) =>
      Array.from(Array(x), (_, k) => j * x + k + 1 + ((x * y * z) / z) * i)
    )
  );

  return {
    buffer,

    get: (coords) => buffer[coords.z][coords.y][coords.x],

    set: (coords, value) => {
      buffer[coords.z][coords.y][coords.x] = value;
    },
  };
}

const matrix = createMatrix3D({ x: 2, y: 2, z: 2 });

prettyPrint(matrix.get({ x: 1, y: 1, z: 1 }));
prettyPrint(matrix.buffer);


Думаю нет смысл в классе ради двух методов
Ответить с цитированием