toLowerCase, массивы, Object.keys, find и Flow синтаксис - PullRequest
2 голосов
/ 19 сентября 2019

Возникли некоторые проблемы с получением правильного синтаксиса потока.

Учитывая этот объект:

const objStr = {
  A: 1,
  B: 2,
  C: 3
};

И это назначение:

const key = Object.keys(objStr).find((key) => objStr[key] === 2).toLowerCase();
// key === 'b'

Я получил этоошибка из потока:

Cannot call `Object.keys(...).find(...).toLowerCase` because property `toLowerCase` is missing in  undefined [1].Flow(InferError)

Не знаете, как настроить правильные аннотации для решения этой проблемы.

1 Ответ

0 голосов
/ 19 сентября 2019

Попробуйте использовать Логический оператор ИЛИ (||) для ложных значений, таких как undefined

const objStr = {
  A: 1,
  B: 2,
  C: 3
}

const key = (Object.keys(objStr).find((key) => objStr[key] === 5) || '').toLowerCase()

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