MST

星途 面试题库

面试题:JavaScript数组迭代之复杂逻辑处理

假设有一个数组,里面的元素是对象,对象有两个属性name(字符串类型)和age(数字类型),例如[{name: 'Alice', age: 25}, {name: 'Bob', age: 30}]。使用数组迭代方法找出年龄大于30岁的人的名字组成新数组,并且使用reduce方法计算出所有人年龄的总和。
35.5万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
const arr = [{name: 'Alice', age: 25}, {name: 'Bob', age: 30}, {name: 'Charlie', age: 35}];

// 使用数组迭代方法找出年龄大于30岁的人的名字组成新数组
const namesOver30 = arr.filter(person => person.age > 30).map(person => person.name);

// 使用reduce方法计算出所有人年龄的总和
const totalAge = arr.reduce((acc, person) => acc + person.age, 0);

console.log(namesOver30); 
console.log(totalAge); 
  1. 找出年龄大于30岁的人的名字组成新数组
    • 使用filter方法过滤出年龄大于30岁的对象,arr.filter(person => person.age > 30)
    • 对过滤后的数组使用map方法提取出name属性组成新数组,.map(person => person.name)
  2. 计算所有人年龄的总和
    • 使用reduce方法,初始值acc设为0,arr.reduce((acc, person) => acc + person.age, 0)。每次迭代将当前人的年龄加到acc上。