2014-06-13 23 views
5

मैं ऑब्जेक्ट की श्रृंखला ...orderBy संख्या कोणीय जे एस

var userObjects =[ 
{userName: bob, 
age: "25", 
gender: "m" 
}, 
{userName: bill, 
age: "15", 
gender: "m" 
}, 
{userName: jen, 
age: "45", 
gender: "f" 
}, 
] 

अब मैं वस्तुओं की इस सरणी पर पुनरावृति करने के लिए अपने HTML में एक एनजी-दोहराने की है की है। मैं इसे उम्र क्रमबद्ध करना चाहते हैं:

<tr ng-repeat="user in userObjects | orderBy:-age"> 

मेरी जे एस में मैं intergers करने के लिए मेरी उम्र परिवर्तित कर रहा हूँ ....

data.forEach(function(user){ 
    user.age= parseFloat(user.age); 
} 

कोणीय नहीं प्रकार उम्र से, मैं देखने की अपेक्षा करेंगे होगा ..

bill, 15 
bob, 25 
jen, 45 

लेकिन इसके बजाय वे सभी जगह पर हैं। मैं क्या गलत कर रहा हूं?

धन्यवाद!

उत्तर

9

"userObjects में उपयोगकर्ता | orderBy: 'उम्र'" एकल उद्धरण में -age लपेटकर, '-age'

1

तरह की कोशिश करो इस दोस्त का प्रयास करें .....

एनजी-दोहराने =>

0

आरोही आदेश: -

<div ng-repeat="person in persons | orderBy:'age'"> 

अवरोही क्रम: -

<div ng-repeat="person in persons | orderBy:'-age'"> 
+5

ओपी पहले से ही अपने प्रश्न में है कि कोड सहित है। यह किसी भी चीज़ के साथ कैसे मदद करता है? – ryanyuyu

+0

@ryanyuyu उनके पास उद्धरण में 'आयु' है, जो सही उत्तर है। –

6

जेएस में स्ट्रिंग्स को संख्याओं में कनवर्ट करने के लिए आवश्यक नहीं है।

इसे फ़िल्टर के साथ शुद्ध कोणीय में बनाएं:

| आदेश: '- 1 * आयु'

+0

कमाल !!! एक जादू की तरह काम करता है! –

5

निम्नलिखित 'आयु' को संख्यात्मक रूप में परिवर्तित करेगा और आरोही क्रम में क्रमबद्ध करेगा।

| orderBy : 'age/1'

0

angular.module('myApp', []).controller('namesCtrl', function($scope) { 
 
    $scope.names = [ 
 
     {name:'Jani',age:'18'}, 
 
     {name:'Carl',age:'32'}, 
 
     {name:'Margareth',age:'21'}, 
 
     {name:'Hege',age:'14'}, 
 
     {name:'Joe',age:'36'}, 
 
     {name:'Gustav',age:'42'}, 
 
     {name:'Birgit',age:'28'}, 
 
     {name:'Mary',age:'58'}, 
 
     {name:'Kai',age:'26'} 
 
     ]; 
 
});
<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<body> 
 

 
<div ng-app="myApp" ng-controller="namesCtrl"> 
 

 
<p>Looping with objects:</p> 
 
<ul> 
 
    <li ng-repeat="x in names | orderBy:'age'"> 
 
    {{ x.name + '-' + x.age }} 
 
    </li> 
 
</ul> 
 

 
</div> 
 

 
</body> 
 
</html>

संबंधित मुद्दे