求平均年龄,从大到小排序且不影响原数组

32 阅读1分钟
const people = [
  { name: 'Daniel', age: 12, gender: 'MALE' },
  { name: 'Alice', age: 13, gender: 'FEMALE' },
  { name: 'Jack', age: 14, gender: 'MALE' },
  { name: 'Ivy', age: 15, gender: 'FEMALE' },
]
// 求男性平均年龄
function avAge() {
  let sum = 0
  let res = 0
  let count = 0
  // 判断为男性
  people.forEach((item) => {
    if (item.gender === 'MALE') {
      count++
      // 求和
      sum += item.age
    }
  })
  // 求平均值
  res = sum / count
  return res
}
avAge()
// 将people数据按年龄由大到小排序,不能影响原数组
function sortArr() {
  // 创建一个新的数组
  let tempArr = [...people]

  // 排序
  tempArr.sort((a, b) => b.age - a.age)
  return tempArr
}

sortArr()