我正在从继承的一些代码中删除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相关问答推荐

Bootstrap动态选项卡在切换选项卡后保持活动状态,导致元素堆叠

类型自定义lazy Promise. all

如何添加绘图条形图图例单击角形事件

如何从隐藏/显示中删除其中一个点击?

在forEach循环中获取目标而不是父对象的属性

JQuery Click事件不适用于动态创建的按钮

以Angular 实现ng-Circle-Progress时出错:模块没有导出的成员

400 bad request error posting through node-fetch

Reaction组件在本应被设置隐藏时仍显示

打字脚本中方括号符号属性访问和拾取实用程序的区别

如何在AG-Grid文本字段中创建占位符

ComponentWillReceiveProps仍在React 18.2.0中工作

为什么我的SoupRequest";被重置为初始值,以及如何修复它?

将延迟加载的模块转换为Eager 加载的模块

使用Library chart.js在一个带有两个y轴的图表中绘制两个数据集

Played link-Initialize.js永远显示加载符号

每隔一行文本段落进行镜像(Boustrophedon)

将匿名函数附加到链接的onClick属性

检测带有委托的元素内部的点击,以及元素何时按其类名被选中

我正在为我的单选按钮在HTML中设置一个值.使用Java脚本,我如何才能获得该值?