繁体   English   中英

如何根据另一个数组中对象的属性创建一个新数组

[英]How to make a new array based on properties of objects in another array

我正在尝试根据我看到的学生数组创建一个 GPA 为 3.5 或更高的学生姓名数组。 我无法将名称推送到新数组,我一直打印未定义。

const students = [
  { name: "Paisley Parker", gpa: 4.0 },
  { name: "Lake Herr", gpa: 3.2 },
  { name: "Promise Lansing", gpa: 3.9 },
  { name: "Friar Park", gpa: 2.8 },
  { name: "Mason Amitie", gpa: 3.49 }
]

function getDeansList(studentList) {
  let deansList = [];
  for(i = 0; i < students.length; i++) {
if(students.gpa >= 3.5) return deansList.push(students.name);
  }
}

console.log(getDeansList(students))

我已经尝试了 for 循环的许多变体,并试图让 for in 循环起作用。 似乎无法弄清楚如何专门针对我的学生数组中的对象设置 gpa 数。 我还在学习,所以任何建议都将不胜感激!

看起来你对这个要求想得太多了,你可以简单地通过使用Array.filter()方法来实现。

现场演示

 const students = [ { name: "Paisley Parker", gpa: 4.0 }, { name: "Lake Herr", gpa: 3.2 }, { name: "Promise Lansing", gpa: 3.9 }, { name: "Friar Park", gpa: 2.8 }, { name: "Mason Amitie", gpa: 3.49 } ]; const result = students.filter(({ gpa }) => gpa >= 3.5); console.log(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM