如何按字母顺序获取json文件数据

时间:2016-06-22 16:04:28

标签: javascript html angularjs json

我使用AngularJS解析了三个不同的json文件。这是我的代码:

工厂代码

app.factory('myapp', ['$http', function($http) {        
    function getLists() {
        var tab = ['url1', 'url2', 'url3'];
        var list = [];
        for(i = 0; i < tab.length; i++) {
            $http.get(tab[i]) 
            .then(function(res) {
                list.push(res.data);
            });
        }
        return list;
    }

    return {
        getLists: getLists
    };
]);

我想要的是显示a中不同文件的数据,第一行中第一个URL的数据,第二行中的第二个数据等等... 我必须根据名称'nm'的字母顺序显示数据。

Html代码:

<tr ng-repeat="d in list">
    <td>{{d.nm}}</td>
    <td>{{d.cty}}</td>   
    <td>{{d.hse}}</td>
    <td>{{d.yrs}}</td> 
</tr> 

我该怎么办?

2 个答案:

答案 0 :(得分:2)

你可以简单地使用orderBy

https://docs.angularjs.org/api/ng/filter/orderBy

喜欢这样

<tr ng-repeat="d in list | orderBy: 'nm'">
    <td>{{d.nm}}</td>
    <td>{{d.cty}}</td>   
    <td>{{d.hse}}</td>
    <td>{{d.yrs}}</td> 
</tr> 

答案 1 :(得分:0)

你没有解释你从哪里获得名单,所以我假设一个公理和两个选项:

Axiom :您不需要在线排序(这意味着用户无法触发其他排序。

选项1 - 您从数据库中获取列表:在这种情况下,请确保为每条记录添加索引,并按索引按升序对数据进行排序。

选项2 - 您正在JavaScript代码中填充列表:在这种情况下,您可以按顺序构建列表并添加索引(我建议您将其设置为数字和不是文字的。)