【发布时间】:2019-05-30 06:39:19
【问题描述】:
我不知道,JavaScript 中是否有任何函数,它只是迭代一个对象并返回一个索引。例如:
[1, 2, 3].iterate(index => /* do smth */)
如果没有这样的功能,为什么?我认为这可能只是表示for 循环的另一种方式,它有它的位置。
编辑:
注意,我知道我们可以声明自己的iterate 函数,问题是有没有类似,如果没有为什么它不存在
编辑 2:
我知道有forEach 函数,但它会用obj, index, array 进行回调,所以我们总是必须声明一些obj。在这种情况下,您需要忽略obj,这是一个不必要的操作。
[1, 2, 3].forEach( (obj, i) => { console.log(i) }) //we don't need an obj
所以这里我们忽略obj。它在记忆中占有一席之地,并且不会在云中的某个地方飞行。忽略obj 并使用简单的forEach 不是答案,请停止使用默认forEach 回答。
【问题讨论】:
-
您看过
forEach方法吗?你也可以做Object.keys并对其进行迭代? -
有这样的功能。它被称为
forEach。您只需在回调中使用第二个函数参数。[1, 2, 3].forEach((_, index) => /* do smth */) -
我不认为这样的函数存在,因为遍历索引与从 0 迭代到 array.length 是一样的,我几乎想不出一个用例。数组。[地图 | foreach](function(item, index) { ... }),你可以在你的用例中使用它
-
很难看出忽略参数如何算作操作。
-
“为什么[编程语言]没有[我迫切需要并且可以很容易地用我自己的东西替代的利基特性]?”很少是建设性的问题,几乎总是无法回答。
标签: javascript arrays node.js