[英]How to rewrite a FP library Ramda.js function called 'pathSatisfies' in vanilla JS
- 不能使用外部库来执行此操作。
- 不能使用任何特定于节点的 API,如
fs
、util
等。
pathSatisfies
接受 3 个参数。
有没有办法在纯 JS 中实现这一点?
只是为了让您了解如何开始思考这个问题:
什么是小事?
如果路径不为空以更接近平凡的情况,减少步骤是什么?
这导致了一个简单的递归 function:
function pathSatisfies(fn, path, obj) {
if (path.length === 0) {
return fn(obj);
}
return pathSatisfies(fn, path.slice(1), obj[path[0]]);
}
这不会检查任何情况,例如路径不在 object 等中。在不使用.slice()
以获得更好的性能的情况下转换为迭代也是微不足道的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.