我正在尝试学习使用map,reduce和filter。我看过MDN,但文档让我感到困惑。
我正在尝试使用map来返回一个新的玩家姓名数组。我也试图使用过滤器与一个团队的玩家组成阵列。
const athletes= [{
name: 'Peter',
sport: 'baseball',
league: 'varsity',
team: 'Rangers',
}, {
name: 'Jon',
sport: 'football',
league: 'little',
team: 'Cowboys',
}];
以下是我使用map作为名称数组的内容:
listPlayers = function(name) {
// console.log(athletes[name]);
return name;
}
athletes.map(listPlayers);
奖金问题:Javascript for Kids后我应该使用哪些学习资源?
感谢。
答案 0 :(得分:1)
我试图使用map来返回一个新的播放器名称数组。
好。 map()
中的回调函数将从您正在映射的数组中接收一个项目。所以你的功能看起来应该更像这样:
listPlayers = function(athlete) {
return athlete.name;
}
随着每位运动员的进入,你都会回复这个名字。所以:
athletes.map(listPlayers)
//[ 'Peter', 'Jon' ]
答案 1 :(得分:1)
map函数应该与params一起使用回调,每个iter都是当前项(比如for循环):
var athletesNames = athletes.map( function(athlete){
return athlete.name;
});
过滤器的项目synthax,为您要选择的项目返回true
:
var athletesTeamRangers = athletes.filter( function(athlete){
return athlete.team === 'Rangers';
});