Как вернуть значение на основе проверки массива + оператор if? - PullRequest
0 голосов
/ 02 мая 2019

Я получаю предупреждение о следующей функции

function currencySubmenuTitle(ctx) {
    let id = Object.keys(currencies).find(element => {
        if (currencies[element].id === ctx.match[1]) {
             return element
        }
    })
    if (typeof id === 'undefined' || id === null) {
        return "No match found"
    } else {
        return `? ${toTitleCase(id)} : ${currencies[id].current}`
    }
}

Примечание: мой идентификатор и элемент разные, поэтому я не могу просто взять элемент и использовать его в качестве возвращаемой строки.

Предупреждение:

2:51  warning  Expected to return a value at the end of arrow function  array-callback-return
2:51  warning  Expected to return a value at the end of arrow function  consistent-return

Как вернуть значение в этой функции соответствующим образом (иначе как я это делаю) Могу ли я тогда это уточнить? Выполнить оператор if, основанный на возвращении оценки массива?

1 Ответ

0 голосов
/ 03 мая 2019

Оценка оператора может происходить в обратной строке, поэтому здесь не требуется никакого специального оператора if.Просто сделайте:

function currencySubmenuTitle(ctx) {
    let id = Object.keys(currencies).find(element => {
        return currencies[element].id === ctx.match[1]
    })
    if (typeof id === 'undefined' || id === null) {
        return "No match found"
    } else {
        return `? ${toTitleCase(id)} : ${currencies[id].current}`
    }
}
...