我試圖得到callback functions
的掛鉤,但我遇到了一些我不完全瞭解的東西。.filter()如何使回調函數調用另一個函數?
這段代碼在下面的例子中使用時效果很好。
zombieCreatures = creatures.filter(filterCreatures);
不幸的是,這個代碼塊在同一個例子中不起作用。
zombieCreatures = creatures.filter(function(v) {
filterCreatures(v);
});
對我來說,他們看起來像相同的指令,但顯然我不正確。有什麼不同? .filter()
之內是否有可能使回調函數調用另一個函數?
'use strict';
var creatures = [], zombieCreatures = [];
var filterCreatures;
creatures = [
{species: 'Zombie', hitPoints: 90},
{species: 'Orc', hitPoints: 40},
{species: 'Skeleton', hitPoints: 15},
{species: 'Zombie', hitPoints: 85}
];
\t
filterCreatures = function(v) {
return v.species === 'Zombie';
}
\t
zombieCreatures = creatures.filter(function(v) {
filterCreatures(v);
});
console.log(zombieCreatures);
非常感謝你,我拉着我的頭髮!我從來沒有想過使用'return'。我要閱讀'return'。我把那一個擰得比我想要承認的要多。 – DR01D