Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Arrays 如何使用下划线.uniq返回唯一的值数组?_Arrays_Sorting_Parse Platform_Underscore.js - Fatal编程技术网

Arrays 如何使用下划线.uniq返回唯一的值数组?

Arrays 如何使用下划线.uniq返回唯一的值数组?,arrays,sorting,parse-platform,underscore.js,Arrays,Sorting,Parse Platform,Underscore.js,我试图使用下划线.uniq对数组进行排序,但它返回的数组与未排序的数组相同。我想这是因为它是按id排序的,但我不确定。如果是按id排序,我如何让它按照与查询相同的行进行排序(allCategories是“primary”列中所有按行的值),它基于我的分析集合bizCategories中的primary列 我的代码: var Categories = Parse.Object.extend("bizCategories"); var categories = new Categories();

我试图使用下划线.uniq对数组进行排序,但它返回的数组与未排序的数组相同。我想这是因为它是按id排序的,但我不确定。如果是按id排序,我如何让它按照与查询相同的行进行排序(allCategories是“primary”列中所有按行的值),它基于我的分析集合bizCategories中的primary列

我的代码:

var Categories = Parse.Object.extend("bizCategories");

var categories = new Categories();

        $scope.primarySelect = function() {
            var primary = new Parse.Query(Categories);
            primary.find({
                success:function(list){
                    $scope.allCategories = _.uniq(list)
                    console.log($scope.allCategories);
                }
            })
        }
        $scope.primarySelect();
分析集合列“primary”:


如果只想获取“主”字段的唯一值,可以按如下操作:

var primaryList = _.map(list, function(item) { return item.get('primary'); });
var uniquePrimaryList = _.uniq(primaryList);

您不显示正在使用的数据。尝试类似$scope.allCategories=q.uniq(list,'primary'),其中primary是列表中对象的属性。每当我使用q.uniq时,我会返回三个响应中的一个:1)每当我使用.uniq(有时与q.chain一起使用)时,我会返回三个响应中的一个:1)q.uniq(list,primary.map(iteratee)返回单个对象(应该有13个,由一个独立的excel函数验证)。2)未捕获类型错误:未定义不是函数(在大多数情况下)2{{{u wrapped:Array[100],{u chain:true,after:function,all:function,any:function…}3)(使用链时,在迭代对象之后映射然后是uniq)函数(){var args=[this.\u wrapped];push.apply(args,arguments);return result.call(this,func.apply(,args));}好的,经过一些修改后,我明白了你的意思,并让它工作了。谢谢这很有魅力。像这样的事情在一开始就起了作用。再次感谢。