Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 顺序阵列问题_Javascript_Php_Angularjs - Fatal编程技术网

Javascript 顺序阵列问题

Javascript 顺序阵列问题,javascript,php,angularjs,Javascript,Php,Angularjs,后端代码-PHP 前端-角度/JavaScript 我正在尝试在我的网站上进行优先搜索——我有一些用户映射到朋友,每个用户都可以发布某些可以“喜欢”的内容,我的搜索想法是计算有多少用户朋友“喜欢”网站上的资源,并将其从高到低排序。我有这项工作的主要部分(背景代码),并让它返回一个如下所示的对象: {"results": "post": {"9": {"message" : "blah9"} , "1": {"message" :

后端代码-PHP 前端-角度/JavaScript

我正在尝试在我的网站上进行优先搜索——我有一些用户映射到朋友,每个用户都可以发布某些可以“喜欢”的内容,我的搜索想法是计算有多少用户朋友“喜欢”网站上的资源,并将其从高到低排序。我有这项工作的主要部分(背景代码),并让它返回一个如下所示的对象:

{"results":
    "post":
        {"9":   {"message" : "blah9"}
        , 
        "1":    {"message" : "blah"}}
}
这个数字是帖子的id——只是一个旁注,我用它来刷新站点上其他地方的内容,我的问题是,当我控制台.log()时;这将显示在屏幕上,并更改为:

{"results":
    "post":
        {"1":   {"message" : "blah"},
        "9":    {"message" : "blah9"}}
}
这使得排序代码变得毫无用处,我能阻止这种情况发生吗

$http.post('php/router.php', {'request' : 'search', 'page': 'Search', 'searchString': searchString}).success(function(data) {
            console.log(data.results.post);
        });

让Javascript端的东西进行排序,并从PHP中完全删除排序。只要让PHP对集合进行分页(1到10、11到20等等),Javascript就可以为您排序结果(我前面示例中的10块)


如果有大量的结果要分块,那么PHP端可能仍然会有某种排序,但是JS肯定可以对发送到客户端的每个分块进行排序。

对象(不是数组)中的属性没有定义的顺序。如果需要定义的排序,请使用array.add
liked
属性,并可以使用angular
orderBy:liked