我正在使用Typescript。我在类的方法内部使用方法Array.some
。
像这样:
class Example {
constructor(private readonly foo: string) {}
test(array: Array<string>) {
array.some(function (element) {
if (element == this.foo) {
return true
} else {
return false
}
})
}
}
但是,我无法访问this.foo
内的array.some
。我只能在array.some
之外访问它。
我阅读了文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
,似乎我必须传递可选参数thisArg
的值。但是我不确定应该在代码中的哪个位置放置
我尝试过,但是没有用。
class Example {
constructor(private readonly foo: string) {}
test(array: Array<string>) {
array.some(function(element) {
if (element == this.foo) {
return true
} else {
return false
}
}, this : Example)
}
}
答案 0 :(得分:1)
使用fat arrow function来保留this
引用。
class Example {
constructor(private readonly foo: string) {}
test(array: Array<string>) {
array.some(element => {
if (element == this.foo) {
return true
} else {
return false
}
})
}
}