【发布时间】:2020-03-13 19:12:38
【问题描述】:
我有一个单独的数组,有时我需要根据循环数组的内容将对象推入:
let x: any[];
_.forEach(blocks, (block:any) => {
// some code that does not matter...
x.push(block.some.property);
});
文档说 Lodash 的 forEach() 只传入 3 个参数;值、索引和集合(假设这是初始数组/可迭代)。
有没有办法强制 x 进入 forEach() 的范围?声明它var 只是在遇到 x.push() 时出现运行时错误。我基本上用另一种方法完全解决了这个问题,但令人恼火的是没有办法坚持。
【问题讨论】:
-
...像任何函数一样,在
_.forEach()回调中,您可以使用来自所有封闭范围的变量。你遇到了什么错误? -
您使用 lodash 而不是内置 Array.forEach 方法的任何具体原因?
-
@rhys_stubbs 维护别人的代码,试图符合我雇主的编码约定。我已经解决了最初的问题,但我确实想更好地理解这一点,以防我遇到另一个类似的问题......他们是这里的忠实信徒。
标签: javascript typescript foreach lodash