2014-01-15 15 views
6

私は、firstname、lastnameおよびageを含むjsonオブジェクト配列を持っています。私は年齢に基づいて配列をソートしたい。属性に基づいてjsonオブジェクトをソートする

<!DOCTYPE html> 
<html> 
<body> 
    <h2>Create Object from JSON String</h2> 
    <p>Original name: <span id="origname"></span></p> 
    <p>New name: <span id="newname"></span></p> 
    <p>Age: <span id="age"></span></p> 

    <script> 
    var employees = [ 
     { "firstName" : "John" , "lastName" : "Doe" , "age":"24" }, 
     { "firstName" : "Anna" , "lastName" : "Smith" , "age":"30" }, 
     { "firstName" : "Peter" , "lastName" : "Jones" , "age":"45" }, 
    ]; 

    document.getElementById("origname").innerHTML=employees[0].firstName + " " + employees[0].lastName; 

    // Set new name 
    employees[0].firstName="Gilbert"; 
    document.getElementById("newname").innerHTML=employees[0].firstName + " " + employees[0].lastName; 

    document.getElementById("age").innerHTML=employees[0].age; 
    </script> 
</body> 
</html> 
+0

たぶん、この答えはあなたhttp://stackoverflow.com/questions/881510/jquery-sorting-json-by-properties –

+0

https://developer.mozilla.org/en-助けることができますUS/docs/Web/JavaScript/Reference/Global_Objects/Array/sort – Prinzhorn

+0

このリンクをチェックするhttp://stackoverflow.com/questions/8175093/simple-function-to-sort-a-json-object-using-javascript –

答えて

9
function sortByKey(array, key) { 
return array.sort(function(a, b) { 
    var x = a[key]; var y = b[key]; 
    return ((x < y) ? -1 : ((x > y) ? 1 : 0)); 
}); 
} 

people = sortByKey(employees, 'age'); 

console.log(people); 
+2

ありがとう、それは働いた!!!! – MayurKode

+5

あなたはplsロジックを説明できますか? – MayurKode

+0

私はこの解決策が大好きです。しかし、オブジェクトの「孫」属性にアクセスする方法はありますか?たとえば、sortByKey(myArr、 'myList.myElement') –

関連する問題