我需要帮助创建一个对象“学生”的3个属性:名字,姓氏,NID (5位数)。
创建一个包含3个学生的数组"myclass“。
用Firstname对我的类排序。
用NID分类我的类。
我已经设置了一些,但是我对数组和对象不太了解。需要帮助做正确的方法,并解释
var student = (firstname, lastname, nid) {
this.firstname = firstname;
this.lastname = lastname;
this.nid = nid;
this.myclass = myclass;
}
var myclass = {
"myclass": {
student.firstname: "Matthew",
student.lastname: "Stone",
student.nid: 458293
},
"myclass": {
student.firstname: "Arian",
student.lastname: "Minaie",
student.nid: 891023
},
"myclass": {
student.firstname: "Pelin",
student.lastname: "Schvechsky",
student.nid: 496054
}
}
function myFunction1() {
myclass.sort();
document.getElementById("Post").innerHTML = firstname;
}
function myFunction2() {
myclass.sort();
document.getElementById("Post").innerHTML = nid;
}<p id="Post"></p>
<button onclick="myFunction1()">Sort Alphabetically by First Name!</button>
<button onclick="myFunction2()">Sort Numerically by NID!</button>
发布于 2017-04-07 07:13:25
您可以为学生使用构造函数并为学生创建新实例。然后,您需要根据想要的属性对数组进行排序。
function Student(firstname, lastname, nid) {
this.firstname = firstname;
this.lastname = lastname;
this.nid = nid;
}
function sortByFirstnameAsc() {
myClass.sort(function (a, b) {
return a.firstname.localeCompare(b.firstname);
});
document.getElementById("Post").innerHTML = JSON.stringify(myClass, 0, 4);
}
function sortByNIDAsc() {
myClass.sort(function (a, b) {
return a.nid - b.nid;
});
document.getElementById("Post").innerHTML = JSON.stringify(myClass, 0, 4);
}
var myClass = [
new Student("Matthew", "Stone", 458293),
new Student("Arian", "Minaie", 891023),
new Student("Pelin", "Schvechsky", 496054)
];<button onclick="sortByFirstnameAsc()">Sort Alphabetically by First Name!</button>
<button onclick="sortByNIDAsc()">Sort Numerically by NID!</button>
<pre id="Post"></pre>
https://stackoverflow.com/questions/43271467
复制相似问题