javascript - 如何在 vanilla JS 中重写这个 ramda.js 代码

标签 javascript ramda.js

我正在从我继承的一些代码中删除 ramda,以减少 JavaScript 大小。但我坚持以下,因为这条线真的让我感到困惑,因为它显然不对任何对象起作用。

var iterate = R.addIndex(R.forEach);
相关代码如下所示:
var lis = $(el).find("ul.navbar-nav:not(.navbar-right) > li:not(.nav-more)");

var iterate = R.addIndex(R.forEach);

iterate(function(li) {
    // Other code

}, lis);
我怎样才能用 Vanilla JS写它?

最佳答案

使用 Array.from() 将对象转换为标准数组然后你 JS Array.forEach() :

const iterate = (fn, o) => Array.from(o).forEach(fn)

iterate(function(li) {
  // Other code   
}, lis);

关于javascript - 如何在 vanilla JS 中重写这个 ramda.js 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72290168/

相关文章:

javascript - 将包含项目的路径转换为树对象

javascript - 如何使用 Ramda 将 javascript 中的简单平均函数转换为无点形式?

javascript - Ramda.js 重构

javascript - 让 R.pipe 与 Promise 一起工作?

javascript - for循环什么时候导致类型强制javascript?

javascript - 如果前一个字符串为真,则返回假,否则为真 - javascript

javascript - window.location.href 不适用于 IE

javascript - 将值从表传递到输入文本 Angularjs

javascript - 使用上一个/下一个按钮导航 div

javascript - 如何通过使用 Ramda 将谓词映射到输入数组来获得两个数组