javascript - 这个函数怎么能纯

标签 javascript

我想映射一个数组,返回除了.created属性之外的相同数组,我正在从毫秒转换到>日期对象。

const posts = data.map((post) => {
    post.created = new Date(post.created); //milliseconds to Date Object
    return post;
})

这个函数做了我预期的结果,但我不喜欢,因为里面的函数不纯粹,正在改变对象。 如何替代使用纯函数来做同样的事情?

非常感谢。

最佳答案

您可以在 map 中使用 Object.assign ( docs ) 实现此目的:

const posts = data.map((post) => {
    return Object.assign({}, post, { created: new Date(post.created) });
})

这基本上克隆了原始的 post,然后覆盖了 created 属性。

关于javascript - 这个函数怎么能纯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351667/

相关文章:

javascript - Angularjs - 如何通过指令中的表达式访问父作用域的变量

javascript - 尝试配置 U​​berRUSH Javascript 模块

javascript - <select> 使用 ng-options 查询显示多个字段

javascript - 获取所选元素的 URL

javascript - 如何将JS输入表单中的数据存储为文本?

javascript - 如何在 HTML 表格上显示带有多级键的 Firebase 数据?

javascript - 如何从这个json中获取版本号的值?

javascript - Angular4 - 如何使 CanDeactive 守卫使用 dialogService 确认与链接的可观察对象一起工作?

javascript - AngularJS:使用按钮链接到使用按钮上的 ng-click 指令构建的页面

javascript - 获取 react 路由器的当前路线