为什么'this'需要转换为字符串?
当我在回调函数'this'中传递值状态(等于“ NC”)时,将成为一个数组。将额外的值传递给回调的正确方法是什么?
var addresses = [
{ street: '104 Bob st', city: 'Boringville', state: 'NC' },
{ street: '207 Ted rd', city: 'Quiettown', state: 'NC' },
{ street: '309 Jim ln', city: 'Lameburg', state: 'VA' }
];
//const result = addresses.filter(address => address.state=='NC');
var state="NC";
var result=addresses.filter((myFunction),state);
function myFunction(address){
if(address.state==this.toString()) return true;
}
console.log(result);
由于this
指向String
元素,因此在使用它进行比较时需要对其进行转换,以使浏览器知道其类型。