gpt4 book ai didi

javascript - 在 _.filter 中访问 this.var?

转载 作者:行者123 更新时间:2023-11-30 09:46:30 24 4
gpt4 key购买 nike

我有一个变量this.myvar,它是一个数组。我想用这个变量创建一个 _.filter(),但是在 _.filter() - 函数中我的 this.myvar未知。

有没有办法解决这个问题,还是我完全误解了什么?

this.my_array = ['aaa', 'bbb', 'ccc', 'ddd'];
this.my_filter = ['aaa', 'ccc'];

my_filtered_object = _.filter(this.my_array, function(item) {
alert(this.my_filter.toSource());
/*
if(this.my_filter.indexOf(item) != -1) {
return item;
}
*/
});

警报应显示 this.my_filter 的值,但似乎在 _.filter() 中无法访问该变量

最佳答案

如果您想访问 this.my_filter,您传递给 _.filter() 的匿名函数需要绑定(bind)到您的上下文。

使用下划线你只需要改变你的代码如下:

my_filtered_object = _.filter(this.my_array, _.bind(function(item) {           
alert(this.my_filter.toSource());
/*
if(this.my_filter.indexOf(item) != -1) {
return item;
}
*/
}, this));

如您所见,我添加了 _.bind() 方法,将您需要的上下文附加到匿名函数。

关于javascript - 在 _.filter 中访问 this.var?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38761680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com