2017-04-07 43 views
1

我需要創建一個對象「學生」有3個屬性幫助排序:名字,姓氏,NID(5位數)。如何與3名學生創建一個數組,並讓他們的名字和NID

與3個學生創建一個數組「myclass」。

用名字對myclass進行排序。

使用NID對myclass進行排序。

我有一些它的成立,但我不知道很多關於數組和對象。需要幫助做這件事的正確方法,並解釋

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>

+1

產生一個語法錯誤 - 修復這些要求 –

+0

之前,您需要1:一''標籤添加到您的網頁,然後解決這個問題:'VAR學生=(名字,姓氏,nid){'這是不正確的語法,你錯過了'函數' - 在按鈕上使用'type =「button」'也是一個好主意。我爲你創建了一個片段,以便我們可以立即測試你的代碼 – mplungjan

+0

謝謝我會嘗試解決這個問題。抱歉。不只是JavaScript友好 – StoneBrothersProduction

回答

0

你可以使用一個學生一個構造函數和你的學生創建新實例。然後你需要按照想要的屬性對數組進行排序。

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>

相關問題