什么';用javascript编写嵌套函数的最可读的方法是什么?
示例:我编写的这段代码看起来不那么可读:什么';用javascript编写嵌套函数的最可读的方法是什么?,javascript,readability,code-readability,Javascript,Readability,Code Readability,示例:我编写的这段代码看起来不那么可读: function getShortMessages(messages) { return messages.filter((messages) => { return messages.message.length < 50 }).map((object) => { return object.message }) } 函数getShortMessages(消息){ 返回消息。筛
function getShortMessages(messages) {
return messages.filter((messages) => {
return messages.message.length < 50
}).map((object) => {
return object.message
})
}
函数getShortMessages(消息){
返回消息。筛选器((消息)=>{
返回消息.message.length<50
}).map((对象)=>{
返回object.message
})
}
函数getShortMessages(消息){
返回messages.filter(message=>message.message.length<50)
.map(message=>message.message)
}
老实说,我觉得没问题。您可以做的是在js文件中用一个变量替换“50”
var MESSAGE_MAX_LENGTH= 50;
并按照处理函数的方式重新定位一点
function getShortMessages(messages) {
return messages
.filter( (messageObject) => {
return messageObject.message.length < MESSAGE_MAX_LENGTH
})
.map( (messageObject) => {
return messageObject.message
});
}
函数getShortMessages(消息){
返回消息
.filter((messageObject)=>{
return messageObject.message.length{
返回messageObject.message
});
}
我还发现,当寻址消息数组
并运行过滤器
函数时,最好不要调用对象消息
,而是调用项
或消息对象
此外,
map
函数中的object
有点不祥,请再次将其称为messageObject
,这样您就知道在ES 6中具体使用的是什么了。您可以使用快捷方式,如下所示:
function getShortMessages(messages) {
return messages.filter( messages => messages.message.length < 50).map( object => object.message )
}
函数getShortMessages(消息){
返回messages.filter(messages=>messages.message.length<50).map(object=>object.message)
}
这取决于你哪一个是可读的。在一行中,您不需要使用{}
或返回
,如果您使用数组函数,使用1个参数,您也不需要(messages)=>
,您只能使用messages=>