Карта объектов выбирается по ключевым целям - PullRequest
0 голосов
/ 14 февраля 2019

Учитывая число, мне нужно знать, в какой это стойке ворот.

Я думаю, этот фрагмент иллюстрирует то, что мне нужно:

const breakPoints = {
  '>1104': 4,
  '830<1104': 3,
  '556<830': 2,
  '<556': 1
}

const calculateHowMany = ( currentSize, breakPoints ) => {
  ...
  ...
  return howMany
}

let A = calculateHowMany( 1200,  breakPoints ) // should be 4
let B = calculateHowMany( 920,  breakPoints ) // should be 3
let C = calculateHowMany( 300,  breakPoints ) // should be 1

1 Ответ

0 голосов
/ 14 февраля 2019

Как описано в моем комментарии, умные структуры данных и тупой код работают лучше, чем наоборот:

const breakpoints = [
  { "amount": 1, "min": 0, "max": 556 },
  { "amount": 2, "min": 556, "max": 830 },
  { "amount": 3, "min": 830, "max": 1104 },
  { "amount": 4, "min": 1104, "max": Infinity }
];

const calculateHowMany = ( currentSize, breakPoints ) => {
  return breakPoints.find( breakpoint => breakpoint.min <= currentSize && breakpoint.max > currentSize ).amount;
};

let A = calculateHowMany( 1200,  breakpoints ) // should be 4
let B = calculateHowMany( 920,  breakpoints ) // should be 3
let C = calculateHowMany( 300,  breakpoints ) // should be 1

console.log( A, B, C );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...