以下显然不起作用,但这是我想要达到的目标:
value error: over
我知道我能做到:
items.forEach(addData(item.data));
但我想知道是否有一种速记/冷却方式。
编辑:
我也使用一系列项目调用相同的添加数据函数 没有像这样嵌套:
items.forEach(function(item){
addData(item.data)
});
这就是为什么我试图找到一种方法来为嵌套对象使用相同的函数(以类似的方式)。
答案 0 :(得分:1)
使用ES6功能:Lambdas。
items.forEach(item => addData(item.data));
我正试图在这里找到一种使用.bind
的方法,但说实话,这是一种非常干净的方式。一个班轮,function() { }
的简写。
答案 1 :(得分:0)
如果您可以将功能更新为使用item
代替item.data
,则可以执行以下操作:
items.forEach(addData);
这将调用每个item
的addData,而不是item.data
答案 2 :(得分:0)
我不一定建议在生产代码中执行此操作,但您可以使用一个小组合器完成类似的操作:
const map_into = k => fn => o => fn(o[k]);
items.forEach(map_into('data')(addData));