使用嵌套数据调用数组foreach循环中的函数

时间:2016-12-22 19:43:14

标签: javascript arrays function foreach

以下显然不起作用,但这是我想要达到的目标:

value error: over

我知道我能做到:

items.forEach(addData(item.data));

但我想知道是否有一种速记/冷却方式。

编辑:

我也使用一系列项目调用相同的添加数据函数 没有像这样嵌套:

items.forEach(function(item){
    addData(item.data)
});

这就是为什么我试图找到一种方法来为嵌套对象使用相同的函数(以类似的方式)。

3 个答案:

答案 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));