使用map函数转换数组
假设我们已经通过某种方式过滤了SCRIPTS数组,生成一个用于表示脚本的信息数组。但我们想创建一个包含名称的数组,因为这样更加易于检查。
map方法对数组中的每个元素调用函数,然后利用返回值来构建一个新的数组,实现转换数组的操作。新建数组的长度与输入的数组一致,但其中的内容却通过对每个元素调用的函数“映射”成新的形式。
function map(array, transform) {let mapped = [];for (let element of array) {mapped.push(transform(element));}return mapped;}let rtlScripts = SCRIPTS.filter(s => s.direction == "rtl");console.log(map(rtlScripts, s => s.name));// → ["Adlam", "Arabic", "Imperial Aramaic", …]
与forEach和filter一样,map也是标准的数组方法。
