所以isDog显然是一个函数,我用typeof对其进行了测试,但是当我运行该程序时,我得到一个“ TypeError:undefined在Array.filter上不是一个函数”。我在考虑这个错误吗?顺便说一句,我确实知道var dogs = animals.filter( (animal) => animal.species === 'dog');
可以工作,但是对于为什么我不能将该函数分配给var并调用它感到困惑。
var animals = [
{ name: 'Fluffykins', species: 'rabbit' },
{ name: 'Caro', species: 'dog' },
{ name: 'Hamilton', species: 'dog' },
{ name: 'Harold', species: 'fish' },
{ name: 'Ursula', species: 'cat' },
{ name: 'Jimmy', species: 'fish' }
]
var dogs = animals.filter(isDog);
var isDog = function(animal) {
return animal.species === 'dog';
}