Javascript 访问forEach回调内部的变量
我想访问一个变量,该变量的目的是聚合到目前为止在提供给forEach的回调中看到的记录。大概是这样的:Javascript 访问forEach回调内部的变量,javascript,arrays,Javascript,Arrays,我想访问一个变量,该变量的目的是聚合到目前为止在提供给forEach的回调中看到的记录。大概是这样的: var myfn = function() { var aggregate_val = []; someObj.someFunction( arg1, arg2, (function() { .... some_array.forEach(function(e) {
var myfn = function() {
var aggregate_val = [];
someObj.someFunction(
arg1,
arg2,
(function() {
....
some_array.forEach(function(e) {
this.aggregate_val.push(e.some_property);
}, this);
}).bind(this)
);
}
为什么不应该这样做?您不需要使用
this
来引用数组aggregate\u val
。请尝试以下代码:
var myfn = function() {
var aggregate_val = [];
some_array.forEach(function(e) {
aggregate_val.push(e.some_property);
});
console.log(some_array) // I added this so you can see the value of some_array
}
你为什么用这个?@AhmedEid PTAL。我已经更新了一点问题。@ibp73 Ahmed和Pavan是对的
aggregate_val
是一个变量,而不是一个属性,没有理由传递此
。只需通过闭包直接访问即可。@ibp73:解决方案相同。