knockout.js 如何根据每个数组中的某个项目对可观察数组进行排序

w1e3prcc  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(135)

我有一个可观察的数组,里面有数组,每个数组里面都有一个名为“time”的项目。我该如何排序我的可观察数组里面的数组,使它们按照项目的值从低到高的顺序排列。值的格式是小时:分钟:秒。

function viewModel() {
  var self = this;

  self.myObservable = ko.observableArray([
  {time: "01:00:00", name: 'frank'},
  {time: "05:30:00", name: 'bob'},
  {time: "03:00:00", name: 'bill'},
  {time: "00:00:21", name: 'john'},
  {time: "00:12:00", name: 'paul'}
  ])
}
vlju58qv

vlju58qv1#

Knockout有observableArray的内建方法,其运作方式类似于Array.prototype。您可以使用localeComparesort
第一个

2w2cym1i

2w2cym1i2#

您应该使用sort()函数。

self.myObservable.sort(function (left, right) {
        return left.age === right.age ? 0
             : left.age < right.age ? -1
             : 1;
    });

相关问题