Как использовать function expression вместе с циклом в es6?

Пытаюсь переделать свою конструкцию под function expression
Сейчас у меня так.

let lastId;
        for (let field of Object.keys( this.form.controls)) { // 'field' is a string
            let control = this.form.get(field); // 'control' is a FormControl
            if (control.value.glob_id) {
                lastId = control.value.glob_id;
            }
        }


так все работает, нужно мне значение записывается в переменную.
Я хотел переделать так

const lastId = () => {
            for (let field of Object.keys( this.form.controls)) {
                let control = this.form.get(field);
                if (control.value.glob_id) {
                    return control.value.glob_id;
                }
            }
        };

        console.log(lastId);


Но это не работает, возвращается тело функции. Что я делаю не так?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
const getLastId = () => { /* some code */ };
const lastId = getLastId();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kshshe
@kshshe
Frontend developer
Если не ошибаюсь, можно так:

const lastId = (() => {
            for (let field of Object.keys( this.form.controls)) {
                let control = this.form.get(field);
                if (control.value.glob_id) {
                    return control.value.glob_id;
                }
            }
        })();

        console.log(lastId);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы