JS数据操作常用方法汇总(map, reduce, filter)

落日映苍穹つ 2022-01-07 01:23 382阅读 0赞

业内各大主流编程语言皆已支持mapreduce,怎能少得了JS?请看以下示例:

数据源

  1. let users = [
  2. { 'id': 1, 'name': 'Sunny', 'age': 20, 'salary': 1000},
  3. { 'id': 2, 'name': 'David', 'age': 25, 'salary': 1200},
  4. { 'id': 3, 'name': 'Mark', 'age': 18, 'salary': 1150},
  5. ]

map

利用数组中对象的特定属性构建新的对象数组:

  1. let names = user.map(x => x.name);
  2. console.log(names);

输出结果为:

  1. ['Sunny', 'David', 'Mark']

map & reduce

二者通常结果使用(统计所有人的工资总和):

  1. let amount = users.map(x => x.salary).reduce((x, y) => x + y);
  2. console.log(amount);

输出结果为:

  1. 3350

filter

  1. let names = users.filter(x => x.age <= 20).map(x => x.name);
  2. console.log(names);

输出结果为:

  1. ['Sunny', 'David']

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数组MapReduceFilter

    数组的使用方法,大都是普通的循环for、for in、forEach等,今天推荐三个新的方法,在一些特殊场景可以有很大作用。虽然这三个新方法for循环都能实现,但是个人认为用着