map()
map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
示例如下:
1 | const names = ['Michael', 'Ryan', 'Tyler']; |
filter()
filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
示例如下:
1 | const names = ['Michael', 'Ryan', 'Tyler']; |
map() 和 filter() 连用,一个方法返回的数据可以是另一个方法的新数组。
示例:
1 | const names = ['Michael', 'Ryan', 'Tyler']; |
练习题:
1 | const musicData = [ |
//map() 方法创建一个新的数组,并包含以下格式的项目:1
2const albumSalesStrings = musicData.map(album => `${album.name} by ${album.artist} sold ${album.sales} copies`);
console.log(albumSalesStrings);
//filter() 方法创建一个新的数组,其中仅包含名称在 10 和 25 个字符之间的专辑。将新数组存储在变量 results 中。
1 | const results = musicData.filter(album => album.name.length <= 25 && album.name.length >= 10); |
//.map() 和 .filter() 组合到一起
//使用 .filter() 从列表中过滤出销量超过 1,000,000 张的专辑。然后对返回的数组调用 .map(),并创建一个项目格式如下的新数组:
1 | <artist> is a great performer |