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
Javascript 淘汰排序不起作用_Javascript_Sorting_Knockout.js - Fatal编程技术网

Javascript 淘汰排序不起作用

Javascript 淘汰排序不起作用,javascript,sorting,knockout.js,Javascript,Sorting,Knockout.js,我正在尝试对网格进行排序。下面是我的代码 ko.moveInGrid = { // Defines a view model class you can use to populate a grid viewModel : function(configuration) { this.data = configuration.data; this.currentPageIndex = ko.observable(0); this.p

我正在尝试对网格进行排序。下面是我的代码

ko.moveInGrid = {
    // Defines a view model class you can use to populate a grid
    viewModel : function(configuration) {
        this.data = configuration.data;
        this.currentPageIndex = ko.observable(0);
        this.pageSize = configuration.pageSize || 5;

        // If you don't specify columns configuration, we'll use scaffolding
        this.columns = configuration.columns
                || getColumnsForScaffolding(ko.utils
                        .unwrapObservable(this.data));
        this.actions = configuration.actions;

        this.itemsOnCurrentPage = ko.computed(function() {
            var startIndex = this.pageSize * this.currentPageIndex();
            return this.data.slice(startIndex, startIndex + this.pageSize);
        }, this);

        this.maxPageIndex = ko.computed(function() {
            return Math.ceil(ko.utils.unwrapObservable(this.data).length
                    / this.pageSize) - 1;
        }, this);
         this.sortByName = function() {
             console.info(configuration.columns);
             console.log("this works");
             configuration.sort(function(a, b) {
                    return a.name < b.name ? -1 : 1;
                });
            };
    }
};
我的
ViewModel
很好。当我点击标题时,它会显示以下错误

TypeError: configuration.sort is not a function

我看到你想把名字分类, 我认为该名称在viewModel.data中。因此,您可以首先测试以下代码的工作

viewModel.data.sort(function(a, b) {
                return a.name < b.name ? -1 : 1;
            });).
viewModel.data.sort(函数a,b){
返回a.name
configuration对象缺少排序功能?是的,我已选中了
configuration.data.sort()
它不会引发任何错误,但排序根本不起作用。数据
包含
sort()
function但您在上面的代码中使用的是configuration.sort而不是configuration.data.sort。我尝试了configuration.data.sort并更改了
configuration.sort(函数(a,b){返回a.name
to
configuration.sort(函数(a,b){返回a.name>b.name?-1:1;})有了if条件,它对我有效
viewModel.data.sort(function(a, b) {
                return a.name < b.name ? -1 : 1;
            });).