deuce-move-by-nature
Version:
67 lines (55 loc) • 4.98 kB
JavaScript
;
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