如何使用JavaScript对Set元素进行映射、约简和过滤

如何使用JavaScript对Set元素进行映射、约简和过滤

map()、reduce()和filter()是数组函数,根据应用的函数转换数组并返回更新后的数组。它们用于编写简单、简洁的代码,以修改数组而不使用循环。

  • map()方法: 它在数组的所有元素上应用给定的函数,并返回更新后的数组。它是代替循环的更简单、更短的代码。map类似于以下代码:
arr = new Array(1, 2, 3, 6, 5, 4);
for(let i = 0; i < 6; i++) {
    arr[i] *= 3;
}

语法:

array.map(要应用的函数)
array.map(function (args) {
    // 代码;
})

示例:

function triple(n){
    return n*3;
}    
arr = new Array(1, 2, 3, 6, 5, 4);
  
var new_arr = arr.map(triple)
console.log(new_arr);

输出:

[ 3, 6, 9, 18, 15, 12 ]
  • reduce()方法: 它通过重复应用函数将数组的所有元素减少到一个值。它是使用循环并为每个扫描的元素更新结果的替代方法。reduce可用于替换以下代码:
arr = new Array(1, 2, 3, 6, 5, 4);
result = 1
for(let i = 0; i < 6; i++) {
    result = result * arr[i];
}

语法:

array.reduce(要应用的函数)
array.reduce(function (args) {
    // 代码;
})

示例:

function product(a, b){
    return a * b;
}
arr = new Array(1, 2, 3, 6, 5, 4);
  
var product_of_arr = arr.reduce(product)
console.log(product_of_arr)

输出:

720
  • filter()方法: 它过滤掉对应条件返回false的数组元素,并返回包含满足条件的元素的数组。它是将以下使用循环的代码转换为更简单、更短的代码:
arr = new Array(1, 2, 3, 6, 5, 4);
new_arr = {}
for(let i = 0; i < 6; i++) {
    if(arr[i] % 2 == 0) {
         new_arr.push(arr[i]);
    }
}

语法:

array.filter(要应用的函数)
array.filter(function (args{
    // condition;
})

示例:

arr = new Array(1, 2, 3, 6, 5, 4);
var new_arr = arr.filter(function (x){
    return x % 2==0;
});

console.log(new_arr)

输出:

[ 2, 6, 4 ]

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程