【问题标题】:What's the most readable way to write nested functions in javascript?在 javascript 中编写嵌套函数最易读的方法是什么?
【发布时间】:2017-07-07 08:03:39
【问题描述】:

我写的这段代码看起来不像它应该的那样可读:

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

【问题讨论】:

    标签: javascript readability code-readability


    【解决方案1】:

    老实说,我觉得没问题。您可以做的是将“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,而是调用itemmessageObject

    另外,map 函数中的object 有点不祥,比如再叫它messageObject 这样你就知道你具体用的是什么了

    【讨论】:

      【解决方案2】:

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

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

      这取决于你哪一个是可读的。在一行中,您不需要使用{}return,如果您使用数组函数,1 个参数也不需要(messages) =&gt;,您只能使用messages =&gt;

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-16
          • 1970-01-01
          • 2013-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多