Какой самый читаемый способ написать вложенные функции в javascript?

Пример этого кода, который я написал, кажется не таким читаемым, как мог бы быть:

function getShortMessages(messages) {
    return messages.filter((messages) => {
        return messages.message.length < 50
    }).map((object) => {
        return object.message
    })
}

person Dany M    schedule 07.07.2017    source источник


Ответы (2)


Мне кажется нормально, если честно. Что вы можете сделать, так это заменить «50» на переменную в вашем файле js.

var MESSAGE_MAX_LENGTH= 50;

И немного переместите то, как вы обращаетесь к функции

function getShortMessages(messages) {
    return messages
        .filter( (messageObject) => { 
            return messageObject.message.length < MESSAGE_MAX_LENGTH 
        })
        .map( (messageObject) => {
            return messageObject.message 
        });
}

Также я обнаружил, что при обращении к массиву messages и выполнении функции filter лучше вызывать объект не messages, а item или messageObject.

более того, object в функции map выглядит немного зловеще, назовите его еще раз, например, messageObject, чтобы вы знали, что конкретно используете

person Tikkes    schedule 07.07.2017

в ES 6 вы можете использовать ярлыки, например:

function getShortMessages(messages) {
    return messages.filter( messages => messages.message.length < 50).map( object => object.message )
}

Это зависит от вас, какой из них читаем. В одной строке вам не нужно использовать {} или return, и если вы используете функцию массива, с 1 параметром вам также не нужно (messages) =>, вы можете использовать только messages =>

person Community    schedule 07.07.2017