在javascript中编写嵌套函数最可读的方法是什么?

时间:2017-07-07 08:03:40

标签: javascript readability code-readability

我编写的这段代码的例子看起来并不像以前那样可读:

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

3 个答案:

答案 0 :(得分:1)

说实话,老实说似乎没问题。你能做的就是更换&#34; 50&#34;使用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或{{ 1}}

此外,messageObject函数中的object有点不祥,例如再次将其称为map,以便您知道具体使用的是什么

答案 1 :(得分:1)

在ES 6中,您可以使用以下快捷方式:

g

它取决于你哪一个是可读的。在一行中,您不需要使用function getShortMessages(messages) { return messages.filter( messages => messages.message.length < 50).map( object => object.message ) } 也不需要使用{},如果使用数组函数,使用1参数也不需要return,则只能使用(messages) =>

答案 2 :(得分:0)

&#13;
&#13;
function getShortMessages(messages) {
  return messages.filter(message => message.message.length < 50)
    .map(message => message.message)
}
&#13;
&#13;
&#13;