UNPKG

deuce-move-by-nature

Version:
67 lines (55 loc) 4.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRiskMatrix = exports.getTransposedMatrix = exports.getMinValue = exports.getMaxValue = void 0; const getMaxValue = array => { let max = array[0]; let key = 0; array.forEach((value, keys) => { if (max < value) { max = value; key = keys; } }); return { max, key }; }; exports.getMaxValue = getMaxValue; const getMinValue = array => { let min = array[0]; let key = 0; array.forEach((value, keys) => { if (min > value) { min = value; key = keys; } }); return { min, key }; }; exports.getMinValue = getMinValue; const getTransposedMatrix = (matrix, linesQuantity, columnsQuantity) => { const newArray = []; for (let i = 0; i < linesQuantity; i += 1) { newArray[i] = []; for (let j = 0; j < columnsQuantity; j += 1) { newArray[i].push(matrix[j][i]); } } return newArray; }; exports.getTransposedMatrix = getTransposedMatrix; const getRiskMatrix = matrix => { const max = []; matrix.forEach((str, key) => { max[key] = getMaxValue(str).max; }); return matrix.map((str, key) => str.map(value => max[key] - value)); }; exports.getRiskMatrix = getRiskMatrix; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRNYXhWYWx1ZSIsImFycmF5IiwibWF4Iiwia2V5IiwiZm9yRWFjaCIsInZhbHVlIiwia2V5cyIsImdldE1pblZhbHVlIiwibWluIiwiZ2V0VHJhbnNwb3NlZE1hdHJpeCIsIm1hdHJpeCIsImxpbmVzUXVhbnRpdHkiLCJjb2x1bW5zUXVhbnRpdHkiLCJuZXdBcnJheSIsImkiLCJqIiwicHVzaCIsImdldFJpc2tNYXRyaXgiLCJzdHIiLCJtYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxNQUFNQSxXQUFXLEdBQUlDLEtBQUQsSUFBVztBQUNwQyxNQUFJQyxHQUFHLEdBQUdELEtBQUssQ0FBQyxDQUFELENBQWY7QUFDQSxNQUFJRSxHQUFHLEdBQUcsQ0FBVjtBQUNBRixFQUFBQSxLQUFLLENBQUNHLE9BQU4sQ0FBYyxDQUFDQyxLQUFELEVBQVFDLElBQVIsS0FBaUI7QUFDN0IsUUFBSUosR0FBRyxHQUFHRyxLQUFWLEVBQWlCO0FBQ2ZILE1BQUFBLEdBQUcsR0FBR0csS0FBTjtBQUNBRixNQUFBQSxHQUFHLEdBQUdHLElBQU47QUFDRDtBQUNGLEdBTEQ7QUFNQSxTQUFPO0FBQ0xKLElBQUFBLEdBREs7QUFFTEMsSUFBQUE7QUFGSyxHQUFQO0FBSUQsQ0FiTTs7OztBQWVBLE1BQU1JLFdBQVcsR0FBSU4sS0FBRCxJQUFXO0FBQ3BDLE1BQUlPLEdBQUcsR0FBR1AsS0FBSyxDQUFDLENBQUQsQ0FBZjtBQUNBLE1BQUlFLEdBQUcsR0FBRyxDQUFWO0FBQ0FGLEVBQUFBLEtBQUssQ0FBQ0csT0FBTixDQUFjLENBQUNDLEtBQUQsRUFBUUMsSUFBUixLQUFpQjtBQUM3QixRQUFJRSxHQUFHLEdBQUdILEtBQVYsRUFBaUI7QUFDZkcsTUFBQUEsR0FBRyxHQUFHSCxLQUFOO0FBQ0FGLE1BQUFBLEdBQUcsR0FBR0csSUFBTjtBQUNEO0FBQ0YsR0FMRDtBQU1BLFNBQU87QUFDTEUsSUFBQUEsR0FESztBQUVMTCxJQUFBQTtBQUZLLEdBQVA7QUFJRCxDQWJNOzs7O0FBZUEsTUFBTU0sbUJBQW1CLEdBQUcsQ0FBQ0MsTUFBRCxFQUFTQyxhQUFULEVBQXdCQyxlQUF4QixLQUE0QztBQUM3RSxRQUFNQyxRQUFRLEdBQUcsRUFBakI7O0FBQ0EsT0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSCxhQUFwQixFQUFtQ0csQ0FBQyxJQUFJLENBQXhDLEVBQTJDO0FBQ3pDRCxJQUFBQSxRQUFRLENBQUNDLENBQUQsQ0FBUixHQUFjLEVBQWQ7O0FBQ0EsU0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSCxlQUFwQixFQUFxQ0csQ0FBQyxJQUFJLENBQTFDLEVBQTZDO0FBQzNDRixNQUFBQSxRQUFRLENBQUNDLENBQUQsQ0FBUixDQUFZRSxJQUFaLENBQWlCTixNQUFNLENBQUNLLENBQUQsQ0FBTixDQUFVRCxDQUFWLENBQWpCO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPRCxRQUFQO0FBQ0QsQ0FUTTs7OztBQVdBLE1BQU1JLGFBQWEsR0FBSVAsTUFBRCxJQUFZO0FBQ3ZDLFFBQU1SLEdBQUcsR0FBRyxFQUFaO0FBQ0FRLEVBQUFBLE1BQU0sQ0FBQ04sT0FBUCxDQUFlLENBQUNjLEdBQUQsRUFBTWYsR0FBTixLQUFjO0FBQzNCRCxJQUFBQSxHQUFHLENBQUNDLEdBQUQsQ0FBSCxHQUFXSCxXQUFXLENBQUNrQixHQUFELENBQVgsQ0FBaUJoQixHQUE1QjtBQUNELEdBRkQ7QUFHQSxTQUFPUSxNQUFNLENBQUNTLEdBQVAsQ0FBVyxDQUFDRCxHQUFELEVBQU1mLEdBQU4sS0FBY2UsR0FBRyxDQUFDQyxHQUFKLENBQVNkLEtBQUQsSUFBV0gsR0FBRyxDQUFDQyxHQUFELENBQUgsR0FBV0UsS0FBOUIsQ0FBekIsQ0FBUDtBQUNELENBTk0iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0TWF4VmFsdWUgPSAoYXJyYXkpID0+IHtcbiAgbGV0IG1heCA9IGFycmF5WzBdO1xuICBsZXQga2V5ID0gMDtcbiAgYXJyYXkuZm9yRWFjaCgodmFsdWUsIGtleXMpID0+IHtcbiAgICBpZiAobWF4IDwgdmFsdWUpIHtcbiAgICAgIG1heCA9IHZhbHVlO1xuICAgICAga2V5ID0ga2V5cztcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIG1heCxcbiAgICBrZXksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWluVmFsdWUgPSAoYXJyYXkpID0+IHtcbiAgbGV0IG1pbiA9IGFycmF5WzBdO1xuICBsZXQga2V5ID0gMDtcbiAgYXJyYXkuZm9yRWFjaCgodmFsdWUsIGtleXMpID0+IHtcbiAgICBpZiAobWluID4gdmFsdWUpIHtcbiAgICAgIG1pbiA9IHZhbHVlO1xuICAgICAga2V5ID0ga2V5cztcbiAgICB9XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIG1pbixcbiAgICBrZXksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNwb3NlZE1hdHJpeCA9IChtYXRyaXgsIGxpbmVzUXVhbnRpdHksIGNvbHVtbnNRdWFudGl0eSkgPT4ge1xuICBjb25zdCBuZXdBcnJheSA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzUXVhbnRpdHk7IGkgKz0gMSkge1xuICAgIG5ld0FycmF5W2ldID0gW107XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBjb2x1bW5zUXVhbnRpdHk7IGogKz0gMSkge1xuICAgICAgbmV3QXJyYXlbaV0ucHVzaChtYXRyaXhbal1baV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3QXJyYXk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Umlza01hdHJpeCA9IChtYXRyaXgpID0+IHtcbiAgY29uc3QgbWF4ID0gW107XG4gIG1hdHJpeC5mb3JFYWNoKChzdHIsIGtleSkgPT4ge1xuICAgIG1heFtrZXldID0gZ2V0TWF4VmFsdWUoc3RyKS5tYXg7XG4gIH0pO1xuICByZXR1cm4gbWF0cml4Lm1hcCgoc3RyLCBrZXkpID0+IHN0ci5tYXAoKHZhbHVlKSA9PiBtYXhba2V5XSAtIHZhbHVlKSk7XG59O1xuIl19