javascript - post.comments = post.comments.filter( ({ id }) => id !== req.params.comment_id ); -->代码的工作
问题描述
我很难理解这段代码,我浏览了互联网但仍然无法得到它。
post.comments = post.comments.filter(
({ id }) => id !== req.params.comment_id
);
我想知道这段代码实际上是如何工作的。
解决方案
.filter
是一个函数,Array
它需要一个返回布尔值的回调函数。
如果回调返回true
项目将被添加到返回的数组中。对于false
,将被跳过。
() => {}
称为箭头函数,类似于匿名函数,但没有上下文,继承自定义函数。
({ id })
是一种称为解构赋值的方法,您可以在其中挑选任何属性并为其创建变量。
所以里面的对象comment
将post.comments
具有id
属性,你只是从对象中获取它
你的代码在 ES5 中看起来像这样
post.comments = post.comments.filter(function(comment) {
var id = comment.id;
return id !== req.params.comment_id;
})
参考:
推荐阅读
- swift - UI AlertController - 在 iPad 中显得更小
- python - 计算二维列表python中周围正方形中有多少个符号
- terraform - 无法使用 terraform provisioner remote-exec 执行远程命令
- azure-devops - 如何在自定义扩展中显示来自 Azure DevOps 工件的 html 报告?
- python - Python子进程Popen windows错误代码
- javascript - 在 Jest 中使用 Async/await
- laravel - 产品总价 laravel
- database - 如何将可迭代值更新到 Flutter 中的 sqflite 表中
- python - 在 C# 中将字符串转换为合法的类名
- c# - Dialogflow webhook 响应显示不可用