地图及;用于从Javascript对象返回元素的筛选器

地图及;用于从Javascript对象返回元素的筛选器,javascript,javascript-objects,Javascript,Javascript Objects,我正在努力学习使用映射、减少和过滤。我看过MDN,但文档让我感到困惑 我正在尝试使用map返回一个新的玩家名称数组。我还尝试使用过滤器来创建一个包含单个团队球员的数组 const athletes= [{ name: 'Peter', sport: 'baseball', league: 'varsity', team: 'Rangers', }, { name: 'Jon', sport: 'football', league: 'lit

我正在努力学习使用映射、减少和过滤。我看过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之后,我应该使用哪些学习资源

谢谢

我正在尝试使用map返回一个新的玩家名称数组

好的。
map()
中的回调函数将从要映射的数组中接收一个项。因此,您的函数应该更像这样:

listPlayers = function(athlete) {
    return athlete.name;
}
每一个运动员都通过了你的名字。因此:

athletes.map(listPlayers)
//[ 'Peter', 'Jon' ]

map函数应该与参数一起使用callback,每个iter都是当前项(如for循环):

item synthax对于筛选器,对于要拾取的项目返回
true

var athletesTeamRangers = athletes.filter( function(athlete){
  return athlete.team === 'Rangers';
});

你的问题是什么?
以下是我使用map作为名称数组的方法:
和?有什么问题吗?你需要描述你所期望的,你的代码本身没有错误,只是没有做你所期望的。这个
listPlayers=function({name}){
可能是你想要的,但是
atternates.map(listPlayers)
简单地映射数组,并立即丢弃结果…您不会将新创建的数组保存在任何位置
奖金问题
-奖金答案,不要要求外部资源:p
atternates.filter(({team}=>team==searchTeam).map({name}=>name)
var athletesTeamRangers = athletes.filter( function(athlete){
  return athlete.team === 'Rangers';
});